sp_help_proxy (Transact-SQL)
适用范围:SQL Server
列出一个或多个代理的信息。
语法
sp_help_proxy
[ [ @proxy_id = ] proxy_id ]
[ , [ @proxy_name = ] N'proxy_name' ]
[ , [ @subsystem_name = ] N'subsystem_name' ]
[ , [ @name = ] N'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_name = ] N'subsystem_name'
要列出代理的子系统名称。 @subsystem_name为 sysname,默认值为 NULL
. 指定@subsystem_name时,还必须指定@name。
下表列出了每个子系统的值。
值 | 说明 |
---|---|
ActiveScripting |
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 脚本 |
[ @name = ] N'name'
要列出其代理的 SQL Server 登录名的名称。 @name为 nvarchar(256),默认值为 NULL
. 指定@name时,还必须指定@subsystem_name。
返回代码值
0
(成功)或 1
(失败)。
结果集
列名称 | 数据类型 | 说明 |
---|---|---|
proxy_id |
int | 代理服务器标识号。 |
name |
sysname | 代理服务器的名称。 |
credential_identity |
sysname | 与代理关联的凭据的 Microsoft Windows 域名和用户名。 |
enabled |
tinyint | 指定是否启用此代理。 0 = 未启用, 1 = 已启用。 |
description |
nvarchar(1024) | 对此代理的说明。 |
user_sid |
varbinary(85) | 此代理的 Windows 用户 Windows 安全 ID。 |
credential_id |
int | 与此代理关联的凭据的标识符。 |
credential_identity_exists |
int | 指定是否存在 credential_identity 。 0 = 不存在, 1 = 存在。 |
注解
如果未提供任何参数, sp_help_proxy
则列出实例中所有代理的信息。
若要确定登录名可用于给定子系统的代理,请指定 @name 和 @subsystem_name。 提供这些参数时, sp_help_proxy
列出指定的登录名可以访问的代理,以及可用于指定子系统的代理。
权限
此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE
权限,但这些权限可能会在 SQL Server 升级期间被重写。
其他用户必须被授予数据库中以下SQL Server 代理固定数据库角色msdb
之一:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
有关这些角色的权限的详细信息,请参阅 SQL Server 代理固定数据库角色。
credential_identity
user_sid
仅当 sysadmin 的成员执行此存储过程时,才会在结果集中返回列和列。
示例
A. 列出所有代理的信息
以下示例将列出实例中所有代理的信息。
USE msdb;
GO
EXEC dbo.sp_help_proxy;
GO
B. 列出特定代理的信息
以下示例将列出名为 Catalog application proxy
的代理的信息。
USE msdb;
GO
EXEC dbo.sp_help_proxy
@proxy_name = N'Catalog application proxy';
GO