注意: |
|---|
|
执行 Transact-SQL 的作业步骤不使用 SQL Server 代理的代理帐户。Transact-SQL 作业步骤在作业所有者的安全上下文中运行。若要为 Transact-SQL 作业步骤设置安全上下文,请在 sp_add_jobstep 存储过程中使用 database_user_name 参数。有关详细信息,请参阅 sp_add_jobstep (Transact-SQL)。
|
SQL Server 代理的代理帐户使用凭据存储 Windows 用户帐户的相关信息。凭据中指定的用户必须对正在运行 SQL Server 的计算机具有“以批处理作业登录”权限。
SQL Server 代理检查代理帐户的子系统访问权限,并在每次运行作业步骤时向代理帐户授予访问权限。如果代理对子系统不再具有访问权限,则作业步骤将失败。否则,SQL Server 代理将模拟代理帐户中指定的用户并运行作业步骤。
创建代理帐户不会更改凭据中指定的用户对代理帐户具有的权限。例如,您可以为不具有连接到 SQL Server 实例的权限的用户创建代理帐户。在这种情况下,使用该代理帐户的作业步骤无法连接到 SQL Server。
用户必须具有访问某个代理帐户的权限,才能在作业步骤中使用该代理帐户。可以向下列三种安全主体授予访问权限:
-
SQL Server 登录帐户
-
服务器角色
-
msdb 数据库中的角色
如果用户的登录帐户具有访问代理帐户的权限,或者用户属于具有访问代理帐户的权限的任何角色,则用户可以在作业步骤中使用代理帐户。
注意: |
|---|
|
sysadmin 固定服务器角色的成员具有访问实例中所有代理帐户的权限。
|
以下部分提供了指向使用代理帐户的常见任务的链接。