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 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)
主體 (Database Engine)
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)