sp_revoke_proxy_from_subsystem (Transact-SQL)
适用于:SQL Server
撤消代理对子系统的访问权限。
语法
sp_revoke_proxy_from_subsystem
[ @proxy_id = ] proxy_id,
[ @proxy_name = ] 'proxy_name',
[ @subsystem_id = ] subsystem_id,
[ @subsystem_name = ] 'subsystem_name'
参数
[ @proxy_id = ] id
要从中撤消访问权限的代理的代理标识号。 proxy_id为 int,默认值为 NULL。 必须指定proxy_id或proxy_name,但不能指定两者。
[ @proxy_name = ] 'proxy_name'
要从中撤消访问权限的代理的名称。 proxy_name为 sysname,默认值为 NULL。 必须指定proxy_id或proxy_name,但不能指定两者。
[ @subsystem_id = ] id
要撤消其访问权限的子系统的 ID 号。 subsystem_id为 int,默认值为 NULL。 必须指定subsystem_id或subsystem_name,但不能指定两者。 下表列出了每个子系统的值。
值 | 描述 |
---|---|
2 | ActiveX 脚本 ** 重要 ** ActiveX 脚本子系统将在Microsoft SQL Server 的未来版本中从 SQL Server 代理 中删除。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 |
3 | 操作系统 (CmdExec) |
4 | Replication Snapshot Agent |
5 | 复制日志读取器代理 |
6 | Replication Distribution Agent |
7 | Replication Merge Agent |
8 | 复制队列读取器代理 |
9 | Analysis Services 命令 |
10 | Analysis Services 查询 |
11 | SSIS 包执行 |
12 | PowerShell 脚本 |
[ @subsystem_name = ] 'subsystem_name'
要撤消其访问权限的子系统的名称。 subsystem_name为 sysname,默认值为 NULL。 必须指定subsystem_id或subsystem_name,但不能指定两者。 下表列出了每个子系统的值。
值 | 说明 |
---|---|
ActiveScripting | ActiveX 脚本 |
CmdExec | 操作系统 (CmdExec) |
快照 | Replication Snapshot Agent |
LogReader | 复制日志读取器代理 |
分发 | Replication Distribution Agent |
合并 | Replication Merge Agent |
QueueReader | 复制队列读取器代理 |
ANALYSISQUERY | Analysis Services 命令 |
ANALYSISCOMMAND | Analysis Services 查询 |
Dts | SSIS 包执行 |
PowerShell | PowerShell 脚本 |
注解
撤消对子系统的访问权限不会更改代理中指定的主体数据库的权限。
注意
若要确定哪些作业步骤引用代理,请右键单击MICROSOFT SQL Server Management Studio 中SQL Server 代理下的代理节点,然后单击“属性”。 在 “代理帐户属性 ”对话框中,选择“ 引用 ”页以查看引用此代理的所有作业步骤。
权限
只有 sysadmin 固定服务器角色的成员才能执行sp_revoke_proxy_from_subsystem。
示例
以下示例撤消对代理 Catalog application proxy
的 SSIS 子系统的访问权限。
USE msdb ;
GO
EXEC dbo.sp_revoke_proxy_from_subsystem
@proxy_name = 'Catalog application proxy',
@subsystem_name = N'Dts';
另请参阅
SQL Server 代理存储过程 (Transact-SQL)
实现 SQL Server 代理安全性
sp_grant_proxy_to_subsystem (Transact-SQL)