Transact-SQL 参考

sp_helplogins

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

语法

sp_helplogins [ [ @LoginNamePattern = ] 'login' ]

参数

[@LoginNamePattern =] 'login'

是登录名。login 的数据类型为 sysname,默认值为 NULL。如果指定 login,则它必须存在。如果没有指定 login,那么返回有关所有登录的信息。

返回代码值

0(成功)或 1(失败)

结果集

第一个报表包含有关每个指定的登录的信息。

列名 数据类型 描述
LoginName sysname 登录名。
SID varbinary(85) 登录安全标识符。
DefDBName sysname LoginName 连接到 Microsoft® SQL Server™ 时使用的默认数据库。
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 DBName 中,LoginName 所映射到的用户帐户以及 LoginName 所属的角色。
UserOrAlias char(8) MemberOf = UserName 是角色。
User = UserName 是用户帐户。

注释

在删除登录之前,使用 sp_helplogins 确定该登录映射到的用户帐户。

权限

只有 sysadminsecurityadmin 固定服务器角色的成员才可以执行 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)

请参见

sp_helpuser

系统存储过程