sp_enum_login_for_proxy (Transact-SQL)

适用于:SQL Server

列出安全主体服务器和代理服务器之间的关联。

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_idint,默认值为 NULL。 可以指定 IDproxy_name

[ @proxy_name = ] 'proxy_name' 要列出其信息的代理的名称。 proxy_namesysname,默认值为 NULL。 可以指定 IDproxy_name

返回代码值

0 (成功) 或 1 (失败)

结果集

列名称 数据类型 说明
proxy_id int 代理服务器标识号。
proxy_name nvarchar(128) 代理服务器的名称。
flag int 安全主体服务器的类型。

0 = SQL Server登录

1 = 固定系统角色

2 = msdb 中的数据库角色
name nvarchar(128) 关联的安全主体服务器的名称。
varbinary(85) 关联的安全主体的 SID。
principal_id int 关联的安全主体的主体 ID。

注解

如果未提供任何参数, 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)