sp_enum_login_for_proxy (Transact-SQL)
适用范围:SQL Server
列出安全主体服务器和代理服务器之间的关联。
语法
sp_enum_login_for_proxy
[ [ @name = ] N'name' ]
[ , [ @proxy_id = ] proxy_id ]
[ , [ @proxy_name = ] N'proxy_name' ]
[ ; ]
参数
[ @name = ] N'name'
要列出其代理的 SQL Server 主体、登录名、服务器角色或 msdb
数据库角色的名称。 @name为 nvarchar(256),默认值为 NULL
.
[ @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。
返回代码值
0
(成功)或 1
(失败)。
结果集
列名称 | 数据类型 | 说明 |
---|---|---|
proxy_id |
int | 代理服务器标识号。 |
proxy_name |
nvarchar(128) | 代理服务器的名称。 |
flags |
int | 安全主体服务器的类型。0 = SQL Server 登录名1 = 固定系统角色2 = 数据库角色 msdb |
name |
nvarchar(128) | 关联的安全主体服务器的名称。 |
sid |
varbinary(85) | 关联的安全主体的安全标识符(SID)。 |
principal_id |
int | 关联的安全主体的主体 ID。 |
注解
如果未提供任何参数, sp_enum_login_for_proxy
则列出有关每个代理实例中所有登录名的信息。
提供@proxy_id或proxy_name时,sp_enum_login_for_proxy
列出有权访问代理的登录名。 提供@name时,sp_enum_login_for_proxy
列出登录名有权访问的代理。
当同时提供代理信息和登录名时,如果指定的登录有权访问指定的代理,则结果集将返回一行。
此存储过程位于 msdb
.
权限
此过程的执行权限默认为 sysadmin 固定服务器角色的成员。
示例
A. 列出所有关联
以下示例列出了在当前实例的登录和代理之间建立的所有权限。
USE msdb;
GO
EXEC dbo.sp_enum_login_for_proxy;
GO
B. 列出特定登录名的代理
以下示例列出了登录 terrid
有权访问的代理。
USE msdb;
GO
EXEC dbo.sp_enum_login_for_proxy @name = 'terrid';
GO