sp_helpuser (Transact-SQL)
報告目前資料庫中資料庫層級主體的相關資訊。
重要事項 |
---|
sp_helpuser 不會傳回導入 SQL Server 2005 中之安全性實體的相關資訊。請改用 sys.database_principals。 |
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
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 角色中的成員資格。
傳回的資訊受限於中繼資料存取限制。 主體對其沒有權限的實體不會出現。 如需詳細資訊,請參閱<中繼資料可見性組態>。
範例
A.列出所有使用者
下列範例會列出目前資料庫中的所有使用者。
EXEC sp_helpuser;
B.列出單一使用者的資訊
下列範例會列出使用者資料庫擁有者 (dbo) 的相關資訊。
EXEC sp_helpuser 'dbo';
C.列出資料庫角色的資訊
下列範例會列出 db_securityadmin 固定資料庫角色的相關資訊。
EXEC sp_helpuser 'db_securityadmin';
請參閱
參考
sys.database_principals (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.server_role_members (Transact-SQL)