Transact-SQL 参考

sp_helpuser

报告有关当前数据库中 Microsoft® SQL Server™ 用户、Microsoft Windows NT® 用户和数据库角色的信息。

语法

sp_helpuser [ [ @name_in_db = ] 'security_account' ]

参数

[@name_in_db =] 'security_account'

当前数据库中 SQL Server 用户、Windows NT 用户或数据库角色的名称。security_account 必须存在于当前的数据库中。security_account 的数据类型为 sysname,默认值为 NULL。如果没有指定 security_account,系统过程将报告当前数据库中的所有用户、Windows NT 用户以及角色的信息。当指定 Windows NT 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。

返回代码值

0(成功)或 1(失败)

结果集

既没有为 security_account 指定用户帐户,也没有为它指定 SQL Server 或 Windows NT 用户。

列名 数据类型 描述
UserName sysname 当前数据库中的用户和 Windows NT 用户。
GroupName sysname UserName 所属的角色。
LoginName sysname UserName 的登录。
DefDBName sysname UserName 的默认数据库。
UserID smallint 当前数据库中 UserName 的 ID。
SID smallint 用户的安全标识号 (SID)。

没有指定用户帐户,并且别名存在于当前的数据库中。

列名 数据类型 描述
LoginName sysname 当前数据库中,登录名已经化名为用户名。
UserNameAliasedTo sysname 当前数据库中,登录所化名为的用户名。

security_account 指定角色。

列名 数据类型 描述
Group_name sysname 当前数据库中角色的名称。
Group_id smallint 当前数据库中角色的角色 ID。
Users_in_group sysname 当前数据库中角色的成员。
Userid smallint 角色成员的用户 ID。

注释

使用 sp_helpsrvrolesp_helpsrvrolemember 返回固定服务器角色的信息。

为数据库角色执行 sp_helpuser 等价于为该数据库角色执行 sp_helpgroup

权限

执行权限默认授予 public 角色。

示例
A. 列出所有用户

下面的示例列出当前数据库中所有的用户。

EXEC sp_helpuser
B. 列出单个用户的信息

下面的示例列出用户 dbo 的信息。

EXEC sp_helpuser 'dbo'
C. 列出某个数据库角色的信息

下面的示例列出 db_securityadmin 固定数据库角色的信息。

EXEC sp_helpuser 'db_securityadmin'

请参见

sp_adduser

sp_dropuser

sp_helpgroup

sp_helprole

sp_helpsrvrole

sp_helpsrvrolemember

系统存储过程