sp_helpuser (Transact-SQL)

更新日期: 2006 年 4 月 14 日

报告有关当前数据库中数据库级主体的信息。

ms187732.note(zh-cn,SQL.90).gif重要提示:
sp_helpuser 无法返回有关 SQL Server 2005 中引入的安全对象的信息。请改用 sys.database_principals

主题链接图标Transact-SQL 语法约定

语法

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

当前数据库中的用户。

GroupName

sysname

UserName 所属的角色。

LoginName

sysname

UserName 的登录名。

DefDBName

sysname

UserName 的默认数据库。

DefSchemaName

sysname

Default schema of the database user.

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。

备注

若要查看有关数据库角色成员身份的信息,请使用 sys.database_role_members。若要查看有关服务器角色成员的信息,请使用 sys.server_role_members;若要查看有关服务器级主体的信息,请使用 sys.server_principals

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

权限

要求具有 public 角色的成员身份。

返回的信息受到对元数据的访问权限的限制。那些主体对其不具有权限的实体将不会显示。有关详细信息,请参阅元数据可见性配置

示例

A. 列出所有用户

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

EXEC sp_helpuser

B. 列出单个用户的信息

以下示例列出有关用户数据库所有者 (dbo) 的信息。

EXEC sp_helpuser 'dbo'

C. 列出某个数据库角色的信息

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

EXEC sp_helpuser 'db_securityadmin'

请参阅

参考

安全存储过程 (Transact-SQL)
系统存储过程 (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)

其他资源

主体

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2006 年 4 月 14 日

新增内容:
  • 添加了 DefSchemaName 列。