重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1012|回复: 0
打印 上一主题 下一主题

创建 SQL Server 代理的代理帐户

[复制链接]
跳转到指定楼层
楼主
发表于 2023-3-12 10:21:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 刘泽宇 于 2023-3-12 10:22 编辑

开始之前
限制和局限
  • 如果没有凭据,那么在创建代理之前必须先创建凭据。
  • SQL Server 代理的代理帐户使用凭据存储 Windows 用户帐户的相关信息。 凭据中指定的用户必须对运行 SQL Server 的计算机具有“从网络访问此计算机”权限 (SeNetworkLogonRight)。
  • SQL Server 代理检查代理帐户的子系统访问权限,并在每次运行作业步骤时向代理帐户授予访问权限。 如果代理对子系统不再具有访问权限,则作业步骤将失败。 否则,SQL Server 代理将模拟代理帐户中指定的用户并运行作业步骤。
  • 创建代理帐户不会更改凭据中指定的用户对代理帐户具有的权限。 例如,你可以为不具有连接到 SQL Server 实例的权限的用户创建代理帐户。 在这种情况下,使用该代理帐户的作业步骤无法连接到 SQL Server。
  • 如果用户的登录帐户具有访问代理帐户的权限,或者用户属于具有访问代理帐户的权限的任何角色,则用户可以在作业步骤中使用代理帐户。

安全性
权限
  • 只有 sysadmin 固定服务器角色的成员才有权创建、修改或删除代理帐户。 必须将不属于 sysadmin 固定服务器角色的成员的用户添加到 msdb 数据库中的以下 SQL Server 代理固定数据库角色之一,才能使用代理:SQLAgentUserRole、SQLAgentReaderRole或 SQLAgentOperatorRole。
  • 如果除了代理之外还需要创建凭据,则需要 ALTER ANY CREDENTIAL 权限。

使用 SQL Server Management Studio (SSMS)
创建 SQL Server 代理的代理帐户
  • 在对象资源管理器中,选择加号以展开要在 SQL Server 代理上创建代理的服务器。
  • 单击加号以展开“SQL Server 代理”。
  • 右键单击“代理”文件夹,然后选择“新建代理”。
  • 在 “新建代理帐户” 对话框的 “常规” 页中,在 “代理名称” 框中输入代理帐户的名称。
  • 在 “凭据名称” 框中,输入代理帐户将使用的安全凭据的名称。
  • 在 “说明” 框中输入对代理帐户的说明。
  • 在 “对以下子系统有效”之下,为此代理选择适当的子系统。
  • 在 “主体” 页上,添加或删除登录名或角色,以授予或删除对代理帐户的访问权限。
  • 完成后,选择“确定”。

使用 Transact-SQL
创建 SQL Server 代理的代理帐户
  • 在 “对象资源管理器” 中,连接到 数据库引擎的实例。
  • 在标准栏上,选择“新建查询” 。
  • 以下脚本创建一个名为 CatalogApplicationCredential 的凭据、创建代理 Catalog application proxy 并向其分配凭据 CatalogApplicationCredential,然后向代理授予访问 ActiveX 脚本子系统的权限。 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。


-- creates credential CatalogApplicationCredential  
USE msdb ;  
GO  
CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser',   
    SECRET = 'G3$1o)lkJ8HNd!';  
GO  
-- creates proxy "Catalog application proxy" and assigns
-- the credential 'CatalogApplicationCredential' to it.  
EXEC dbo.sp_add_proxy  
    @proxy_name = 'Catalog application proxy',  
    @enabled = 1,  
    @description = 'Maintenance tasks on catalog application.',  
    @credential_name = 'CatalogApplicationCredential' ;  
GO  
-- grants the proxy "Catalog application proxy" access to
-- the ActiveX Scripting subsystem.  
EXEC dbo.sp_grant_proxy_to_subsystem  
    @proxy_name = N'Catalog application proxy',  
    @subsystem_id = 2 ;  
GO


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-28 18:49 , Processed in 0.118654 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表