sp_helplogins (Transact-SQL)

适用于:SQL Server

提供有关每个数据库中的登录名以及与其相关的用户的信息。

Transact-SQL 语法约定

语法

  
sp_helplogins [ [ @LoginNamePattern = ] 'login' ]  

自变量

[ @LoginNamePattern = ] 'login' 登录名。 login 的数据类型为 sysname,默认值为 NULL。 如果指定了登录名,则登录名必须存在。 如果未指定 login ,则返回有关所有登录名的信息。

返回代码值

0(成功)或 1(失败)

结果集

第一个报告包含有关指定的每个登录的信息,如下表所示。

列名称 数据类型 说明
LoginName sysname 登录名。
SID varbinary(85) 登录安全标识符 (SID)。
DefDBName sysname LoginName 在连接到 SQL Server 实例时使用的默认数据库。
DefLangName sysname LoginName 使用的默认语言。
Auser char (5) 是 = LoginName 在数据库中具有关联的用户名。

否 = LoginName 没有关联的用户名。
ARemote char (7) 是 = LoginName 具有关联的远程登录名。

否 = LoginName 没有关联的登录名。

第二个报告包含有关映射到每个登录的用户的信息以及登录的角色成员身份,如下表所示。

列名称 数据类型 说明
LoginName sysname 登录名。
DBName sysname LoginName 在连接到 SQL Server 实例时使用的默认数据库。
UserName sysname LoginName 在 DBName 中映射到的用户帐户,以及 DbNameLoginName 所属的角色。
UserOrAlias char (8) MemberOf = UserName 是一个角色。

User = UserName 是用户帐户。

备注

在删除登录名之前,请使用 sp_helplogins 标识映射到该登录名的用户帐户。

权限

需要 securityadmin 固定服务器角色的成员身份。

若要标识映射到给定登录名的所有用户帐户, sp_helplogins 必须检查服务器中的所有数据库。 因此,对于服务器中的每个数据库,至少应满足下列条件之一:

  • 正在执行 sp_helplogins 的用户有权访问数据库。

  • 在数据库中启用 来宾 用户帐户。

如果 sp_helplogins 无法访问数据库, sp_helplogins 将返回尽可能多的信息,并显示错误消息 15622。

示例

以下示例报告有关登录 John 的信息。

EXEC sp_helplogins 'John';  
GO  
  
LoginName SID                        DefDBName DefLangName AUser ARemote   
--------- -------------------------- --------- ----------- ----- -------   
John      0x23B348613497D11190C100C  master    us_english  yes   no  
  
(1 row(s) affected)  
  
LoginName   DBName   UserName   UserOrAlias   
---------   ------   --------   -----------   
John        pubs     John       User          
  
(1 row(s) affected)  

另请参阅

安全存储过程 (Transact-SQL)
sp_helpdb (Transact-SQL)
sp_helpuser (Transact-SQL)
系统存储过程 (Transact-SQL)