sp_helpuser (Transact-SQL)

適用於:SQL Server

報告目前資料庫中資料庫層級主體的相關信息。

重要

sp_helpuser 不會傳回 SQL Server 2005 (9.x) 和更新版本中引進的安全性實體相關信息。 請改用 sys.database_principals

Transact-SQL 語法慣例

語法

sp_helpuser [ [ @name_in_db = ] N'name_in_db' ]
[ ; ]

引數

[ @name_in_db = ] N'name_in_db'

目前資料庫中的資料庫用戶或資料庫角色名稱。 @name_in_db為 sysname 預設值為 NULL@name_in_db必須存在於目前的資料庫中。 如果未 指定@name_in_dbsp_helpuser 則傳回所有資料庫主體的相關信息。

傳回碼值

0 (成功) 或 1 (失敗)。

結果集

下表顯示未針對 @name_in_db指定用戶帳戶、SQL Server 或 Windows 使用者時的結果集。

資料行名稱 資料類型 描述
UserName sysname 目前資料庫中的使用者。
RoleName sysname UserName所屬的角色。
LoginName sysname UserName登入。
DefDBName sysname 的預設資料庫 UserName
DefSchemaName sysname 資料庫用戶的預設架構。
UserID smallint 目前資料庫中的識別碼 UserName
SID smallint 使用者安全性標識碼(SID)。

下表顯示在目前資料庫中沒有指定用戶帳戶且別名存在時的結果集。

資料行名稱 資料類型 描述
LoginName sysname 目前資料庫中用戶別名的登入。
UserNameAliasedTo sysname 登入別名所在的目前資料庫中的用戶名稱。

下表顯示為 @name_in_db 指定角色時的結果集。

資料行名稱 資料類型 描述
Role_name sysname 目前資料庫中的角色名稱。
Role_id smallint 目前資料庫中角色的角色標識碼。
Users_in_role sysname 目前資料庫中角色的成員。
Userid smallint 角色成員的使用者標識碼。

備註

若要查看資料庫角色成員資格的相關信息,請使用 sys.database_role_members。 若要查看伺服器角色成員的相關信息、使用 sys.server_role_members,以及查看伺服器層級主體的相關信息,請使用 sys.server_principals

權限

需要 public 角色的成員資格。

傳回的資訊受限於元數據的存取限制。 主體沒有許可權的實體不會出現。 如需相關資訊,請參閱 Metadata Visibility Configuration

範例

A. 列出所有使用者

下列範例會列出目前資料庫中的所有使用者。

EXEC sp_helpuser;

B. 列出單一用戶的資訊

下列範例會列出使用者資料庫擁有者 (dbo) 的相關信息。

EXEC sp_helpuser 'dbo';

C. 列出資料庫角色的資訊

下列範例會列出db_securityadmin固定資料庫角色的相關信息

EXEC sp_helpuser 'db_securityadmin';