sp_helpuser (Transact-SQL)
適用於:SQL Server
報告目前資料庫中資料庫層級主體的相關資訊。
重要
sp_helpuser 不會傳回 SQL Server 2005 (9.x) 中引進的安全性實體相關資訊。 請改用 sys.database_principals 。
語法
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)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應