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_accountsysname,預設值是 Null。 如果未指定 security_accountsp_helpuser 會傳回所有資料庫主體的相關資訊。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

當使用者帳戶和 SQL Server 或 Windows 使用者都未指定 security_account 時,下表顯示結果集。

資料行名稱 資料類型 描述
使用者名稱 sysname 目前資料庫中的使用者。
RoleName sysname 使用者 名稱 所屬的角色。
LoginName sysname 使用者 名稱 的登入。
DefDBName sysname UserName 的預設資料庫。
DefSchemaName sysname 資料庫使用者的預設結構描述。
UserID smallint 目前資料庫中的使用者 名稱 識別碼。
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)
主體 (Database Engine)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)