sp_helpuser (Transact-SQL)
报告有关当前数据库中数据库级主体的信息。
重要提示 |
---|
sp_helpuser 不会返回有关 SQL Server 2005 中引入的安全对象的信息。请改用 sys.database_principals。 |
语法
sp_helpuser [ [ @name_in_db = ] 'security_account' ]
参数
- [ @name_in_db = ] 'security_account'
当前数据库中数据库用户或数据库角色的名称。security_account 必须存在于当前数据库中。security_account 的数据类型为 sysname,默认值为 NULL。如果未指定 security_account,则 sp_helpuser 返回有关所有数据库主体的信息。
返回代码值
0(成功)或 1(失败)
结果集
下表显示当没有为 security_account 指定用户帐户,或者 SQL Server 或 Windows 用户时的结果集。
列名 |
数据类型 |
说明 |
---|---|---|
UserName |
sysname |
当前数据库中的用户。 |
RoleName |
sysname |
UserName 所属的角色。 |
LoginName |
sysname |
UserName 的登录名。 |
DefDBName |
sysname |
UserName 的默认数据库。 |
DefSchemaName |
sysname |
数据库用户的默认架构。 |
UserID |
smallint |
当前数据库中 UserName 的 ID。 |
SID |
smallint |
用户的安全标识号 (SID)。 |
下表显示未指定用户帐户,并且当前数据库中存在别名时的结果集。
列名 |
数据类型 |
说明 |
---|---|---|
LoginName |
sysname |
当前数据库中已经化名为用户名的登录名。 |
UserNameAliasedTo |
sysname |
当前数据库中登录名要化名为的用户名。 |
下表显示当为 security_account 指定角色时的结果集。
列名 |
数据类型 |
说明 |
---|---|---|
Role_name |
sysname |
当前数据库中角色的名称。 |
Role_id |
smallint |
当前数据库中角色的角色 ID。 |
Users_in_role |
sysname |
当前数据库中角色的成员。 |
Userid |
smallint |
角色成员的用户 ID。 |
注释
若要查看有关数据库角色成员身份的信息,请使用 sys.database_role_members。若要查看有关服务器角色成员的信息,请使用 sys.server_role_members;若要查看有关服务器级主体的信息,请使用 sys.server_principals。
示例
A. 列出所有用户
以下示例列出当前数据库中的所有用户。
EXEC sp_helpuser
B. 列出单个用户的信息
以下示例列出有关用户数据库所有者 (dbo) 的信息。
EXEC sp_helpuser 'dbo'
C. 列出某个数据库角色的信息
以下示例列出有关 db_securityadmin 固定数据库角色的信息。
EXEC sp_helpuser 'db_securityadmin'