sp_helpuser (Transact-SQL)

適用於:SQL Server

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

重要

sp_helpuser 不會傳回 SQL Server 2005 (9.x) 中引進的安全性實體相關資訊。 請改用 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 目前資料庫中的使用者。
RoleName sysname UserName 所屬的角色。
LoginName sysname UserName 登入。
DefDBName sysname UserName 的預設資料庫
DefSchemaName sysname 資料庫使用者的預設架構。
UserID smallint 目前資料庫中 UserName 識別碼。
SID smallint 使用者安全性識別碼(SID)。

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

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

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

資料行名稱 資料類型 描述
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';  

另請參閱

安全性預存程序 (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)