sp_enum_login_for_proxy (Transact-SQL)

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

主题链接图标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