sp_enum_proxy_for_subsystem (Transact-SQL)

列出 SQL Server 代理的代理访问子系统所需的权限。

主题链接图标Transact-SQL 语法约定

语法

sp_enum_proxy_for_subsystem
    [ @proxy_id = ] proxy_id,
    [ @proxy_name = ] 'proxy_name',
    [ @subsystem_id = ] subsystem_id,
    [ @subsystem_name = ] 'subsystem_name'

参数

  • [ @proxy_id = ] proxy_id
    要列出信息的代理的标识号。proxy_id 的数据类型为 int,默认值为 NULL。可以指定 id 或 proxy_name。

  • [ @proxy_name= ] 'proxy_name'
    要列出信息的代理的名称。proxy_name 的数据类型为 sysname,默认值为 NULL。可以指定 id 或 proxy_name。

  • [ @subsystem_id = ] subsystem_id
    要列出信息的子系统的标识号。subsystem_id 的数据类型为 int,默认值为 NULL。可以指定 subsystem_id 或 subsystem_name。

  • [ @subsystem_name = ] 'subsystem_name'
    要列出信息的子系统的名称。subsystem_name 的数据类型为 sysname,默认值为 NULL。可以指定 subsystem_id 或 subsystem_name。

返回代码值

0(成功)或 1(失败)

结果集

列名

数据类型

说明

subsystem_id

int

子系统标识号。

subsystem_name

sysname

子系统的名称。

proxy_id

int

代理标识号。

proxy_name

sysname

代理的名称。

注释

如果未提供参数,sp_enum_proxy_for_subsystem 将列出每个子系统的实例中有关所有代理的信息。

如果提供代理 ID 或代理名称,sp_enum_proxy_for_subsystem 将列出代理有权访问的子系统。如果提供子系统 ID 或子系统名称,sp_enum_proxy_for_subsystem 将列出有权访问该子系统的代理。

当同时提供代理信息和子系统信息时,如果指定的代理有权访问指定的子系统,则结果集将返回一行。

此存储过程位于 msdb 中。

权限

默认情况下,sysadmin 固定服务器角色的成员具有此过程的执行权限。

示例

A. 列出所有关联

以下示例列出了在当前实例的代理和子系统之间建立的所有权限。

USE msdb ;
GO

EXEC dbo.sp_enum_proxy_for_subsystem ;
GO

B. 确定代理是否有权访问特定的子系统

如果代理 Catalog application proxy 有权访问 ActiveScripting 子系统,则以下示例将返回一行。否则,该示例将返回空结果集。

USE msdb ;
GO

EXEC dbo.sp_enum_proxy_for_subsystem
    @subsystem_name = 'ActiveScripting',
    @proxy_name = 'Catalog application proxy' ;
GO