sp_helplogins (Transact-SQL)

适用范围:SQL Server

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

Transact-SQL 语法约定

语法

sp_helplogins [ [ @LoginNamePattern = ] N'LoginNamePattern' ]
[ ; ]

参数

[ @LoginNamePattern = ] N'LoginNamePattern'

@LoginNamePattern为 sysname,默认值为 NULL.

登录名。 @LoginNamePattern为 sysname,默认值为 NULL. 如果指定, @LoginNamePattern必须存在。 如果未 指定@LoginNamePattern ,则返回所有登录名的相关信息。

返回代码值

0(成功)或 1(失败)。

结果集

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

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

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

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

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

列名称 数据类型 描述
LoginName sysname 登录名。
DBName sysname 连接到 SQL Server 实例时使用的默认数据库 LoginName
UserName sysname 映射到 LoginName 的用户帐户以及属于其中DBNameDBName的角色LoginName
UserOrAlias char(8) 成员 = UserName 是一个角色。

用户 = 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

LoginName   DBName   UserName   UserOrAlias
---------   ------   --------   -----------
John        pubs     John       User