SQL Server 代理子系统

“子系统”**是预定义的对象,它表示可用于 Microsoft SQL Server 代理的代理帐户的一组功能。每个代理都可以访问一个或多个子系统。子系统可以提供安全性,因为它们分隔了对可用于代理的功能的访问。除了 Transact-SQL 作业步骤,每个作业步骤都在代理的上下文中运行。Transact-SQL 作业步骤使用 EXECUTE AS 命令设置安全上下文。

ms187100.note(zh-cn,SQL.90).gif注意:
从 SQL Server 2000 升级到 SQL Server 2005 后,升级前已有的所有用户代理帐户都将更改为临时全局代理帐户 UpgradedProxyAccount。UpgradedProxyAccount 只能访问那些显示使用过的子系统,并且升级后不能访问任何子系统。

Microsoft SQL Server 2005 定义了下表中列出的子系统:

子系统名称 说明

Microsoft ActiveX 脚本

运行 ActiveX 脚本作业步骤。

操作系统 (CmdExec)

运行可执行程序。

复制分发服务器

运行激活复制分发服务器代理的作业步骤。

复制合并

运行激活复制合并代理的作业步骤。

复制队列读取器

运行激活复制队列读取器代理的作业步骤。

复制快照

运行激活复制快照代理的作业步骤。

复制事务日志读取器

运行激活复制日志读取器代理的作业步骤。

Analysis Services 命令

运行 Analysis Services 命令。

Analysis Services 查询

运行 Analysis Services 查询。

SSIS 包执行

运行 SSIS 包。

ms187100.note(zh-cn,SQL.90).gif注意:
因为 Transact-SQL 作业步骤不使用代理,因此没有针对 Transact-SQL 作业步骤的 SQL Server 代理子系统。

即使在正常情况下代理的安全主体具有运行作业步骤中的任务的权限,SQL Server 代理仍将强制限制子系统。例如,如果一个用户是 sysadmin 固定服务器角色的成员,则即使该用户可以运行 SSIS 包,其代理仍将无法运行 SSIS 作业步骤,除非该代理可以访问 SSIS 子系统。

请参阅

任务

如何创建 ActiveX 脚本作业步骤 (SQL Server Management Studio)
如何创建 CmdExec 作业步骤 (SQL Server Management Studio)

其他资源

CREATE CREDENTIAL (Transact-SQL)
EXECUTE AS 子句 (Transact-SQL)
复制代理安全性模式
sp_grant_proxy_to_subsystem (Transact-SQL)
sp_revoke_proxy_from_subsystem (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助