sp_helplogins (Transact-SQL)
提供有关每个数据库中的登录及相关用户的信息。
语法
sp_helplogins [ [ @LoginNamePattern = ] 'login' ]
参数
- [ @LoginNamePattern = ] 'login'
登录名。login 的数据类型为 sysname,默认值为 NULL。如果指定该参数,则 login 必须存在。如果未指定 login,则返回有关所有登录的信息。
返回代码值
0(成功)或 1(失败)
结果集
第一个报告包含有关指定的每个登录的信息,如下表所示。
列名 |
数据类型 |
说明 |
---|---|---|
LoginName |
sysname |
登录名。 |
SID |
varbinary(85) |
登录安全标识符 (SID)。 |
DefDBName |
sysname |
LoginName 在连接 SQL Server 实例时所使用的默认数据库。 |
DefLangName |
sysname |
LoginName 所使用的默认语言。 |
Auser |
char(5) |
Yes = LoginName 在一个数据库中有相关联的用户名。 No = LoginName 没有相关联的用户名。 |
ARemote |
char(7) |
Yes = LoginName 有相关联的远程登录。 No = LoginName 没有相关联的登录。 |
第二个报告包含有关映射到每个登录的用户的信息以及登录的角色成员身份,如下表所示。
列名 |
数据类型 |
说明 |
---|---|---|
LoginName |
sysname |
登录名。 |
DBName |
sysname |
LoginName 在连接 SQL Server 实例时所使用的默认数据库。 |
UserName |
sysname |
在 DBName 中,LoginName 所映射到的用户帐户以及 LoginName 所属的角色。 |
UserOrAlias |
char(8) |
MemberOf = UserName 是角色。 User = UserName 是用户帐户。 |
注释
在删除某一登录之前,应使用 sp_helplogins 标识映射到该登录的用户帐户。
权限
要求具有 securityadmin 固定服务器角色的成员身份。
若要标识映射到给定登录的所有用户帐户,sp_helplogins 必须检查服务器中的所有数据库。因此,对于服务器中的每个数据库,至少应满足下列条件之一:
正在执行 sp_helplogins 的用户具有访问数据库的权限。
已在数据库中启用了 guest 用户帐户。
如果 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)