sp_revoke_proxy_from_subsystem (Transact-SQL)

适用范围:SQL Server

撤消代理对子系统的访问权限。

Transact-SQL 语法约定

语法

sp_revoke_proxy_from_subsystem
    [ [ @proxy_id = ] proxy_id ]
    [ , [ @proxy_name = ] N'proxy_name' ]
    [ , [ @subsystem_id = ] subsystem_id ]
    [ , [ @subsystem_name = ] N'subsystem_name' ]
[ ; ]

参数

[ @proxy_id = ] proxy_id

要撤消访问权限的代理的代理标识号。 @proxy_id为 int,默认值为 NULL.

必须指定@proxy_id@proxy_name,但不能指定这两者。

[ @proxy_name = ] N'proxy_name'

要撤消访问权限的代理的名称。 @proxy_name为 sysname,默认值为 NULL.

必须指定@proxy_id@proxy_name,但不能指定这两者。

[ @subsystem_id = ] subsystem_id

要撤销其访问权限的子系统的 ID 号。 @subsystem_id为 int,默认值为 NULL.

必须指定@subsystem_id@subsystem_name,但不能指定两者。

下表列出了每个子系统的值。

说明
2 1 ActiveX 脚本
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 脚本

1 在 SQL Server 的未来版本中,ActiveX 脚本子系统将从SQL Server 代理中删除。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

[ @subsystem_name = ] N'subsystem_name'

要撤消对其访问权限的子系统的名称。 @subsystem_name为 sysname,默认值为 NULL.

必须指定@subsystem_id@subsystem_name,但不能指定两者。

下表列出了每个子系统的值。

说明
ActiveScripting 1 ActiveX 脚本
CmdExec 操作系统 (CmdExec)
Snapshot Replication Snapshot Agent
LogReader 复制日志读取器代理
Distribution Replication Distribution Agent
Merge Replication Merge Agent
QueueReader 复制队列读取器代理
ANALYSISQUERY Analysis Services 命令
ANALYSISCOMMAND Analysis Services 查询
Dts SSIS 包执行
PowerShell PowerShell 脚本

1 在 SQL Server 的未来版本中,ActiveX 脚本子系统将从SQL Server 代理中删除。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

注解

撤消对子系统的访问权限不会更改代理中指定的主体的权限。

注意

若要确定哪些作业步骤引用代理,请右键单击MICROSOFT SQL Server Management Studio 中SQL Server 代理下的代理节点,然后选择“属性”。 在 “代理帐户属性 ”对话框中,选择“ 引用 ”页以查看引用此代理的所有作业步骤。

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

示例

以下示例撤消对代理 Catalog application proxy的 SSIS 子系统的访问权限。

USE msdb;
GO

EXEC dbo.sp_revoke_proxy_from_subsystem
    @proxy_name = 'Catalog application proxy',
    @subsystem_name = N'Dts';