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为 intNULL.

必须指定@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 复制快照代理
5 复制日志读取器代理
6 复制分发代理
7 复制合并代理
8 复制队列读取器代理
9 Analysis Services 命令
10 Analysis Services 查询
11 SSIS 包执行
12 PowerShell 脚本

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

[ @subsystem_name = ] N'subsystem_name'

要撤消对其访问权限的子系统的名称。 @subsystem_name为 sysnameNULL.

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

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

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

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

注解

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

注意

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

权限

可以授予 EXECUTE 此过程的权限,但在 SQL Server 升级期间可能会重写这些权限。

示例

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

USE msdb;
GO

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