sp_enum_login_for_proxy (Transact-SQL)
列出安全主体服务器和代理服务器之间的关联。
语法
sp_enum_login_for_proxy
[ @name = ] 'name'
[ @proxy_id = ] id,
[ @proxy_name = ] 'proxy_name'
参数
[ @name = ] 'name'
要列出代理服务器的 SQL Server 主体服务器、登录、服务器角色或 msdb 数据库角色的名称。该名称的数据类型为 nvarchar(256),默认值为 NULL。
[ @proxy_id = ] id
要列出信息的代理服务器的代理标识号。proxy_id 的数据类型为 int,默认值为 NULL。可以指定 id 或 proxy_name。
[ @proxy_name = ] 'proxy_name'
要列出信息的代理服务器的名称。proxy_name 的数据类型为 sysname,默认值为 NULL。可以指定 id 或 proxy_name。
返回代码值
0(成功)或 1(失败)
结果集
列名 | 数据类型 | 说明 |
---|---|---|
proxy_id |
int |
代理服务器标识号。 |
proxy_name |
sysname |
代理服务器的名称。 |
name |
sysname |
关联的安全主体服务器的名称。 |
flags |
int |
安全主体服务器的类型。 0 = SQL Server 登录 1 = 固定系统角色 2 = msdb 中的数据库角色 |
备注
如果未提供参数,sp_enum_login_for_proxy 将列出每个代理的实例中有关所有登录的信息。
如果提供代理 ID 或代理名称,sp_enum_login_for_proxy 将列出有权访问该代理的登录名。如果提供登录名,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
请参阅
参考
sp_help_proxy (Transact-SQL)
sp_grant_login_to_proxy (Transact-SQL)
sp_revoke_login_from_proxy (Transact-SQL)