sys.database_principals (Transact-SQL)
針對資料庫中每一個主體,各傳回一個資料列。
資料行名稱 |
資料類型 |
說明 |
---|---|---|
name |
sysname |
主體的名稱,它在資料庫中是唯一的。 |
principal_id |
int |
主體的識別碼,它在資料庫中是唯一的。 |
type |
char(1) |
主體類型: S = SQL 使用者 U = Windows 使用者 G = Windows 群組 A = 應用程式角色 R = 資料庫角色 C = 對應至憑證的使用者 K = 對應至非對稱金鑰的使用者 |
type_desc |
nvarchar(60) |
主體類型的描述。 SQL_USER WINDOWS_USER WINDOWS_GROUP APPLICATION_ROLE DATABASE_ROLE CERTIFICATE_MAPPED_USER ASYMMETRIC_KEY_MAPPED_USER |
default_schema_name |
sysname |
當 SQL 名稱未指定結構描述時所要使用的名稱。非類型 S、U 或 A 的主體,則為 NULL。 |
create_date |
datetime |
建立主體的時間。 |
modify_date |
datetime |
上次修改主體的時間。 |
owning_principal_id |
int |
擁有這個主體的主體識別碼。除資料庫角色以外,所有主體都必須由 dbo 所擁有。 |
sid |
varbinary(85) |
如果主體是定義在資料庫 (類型 S、U 和 G) 外部,則為 SID (安全性識別碼) 。否則,為 NULL。 |
is_fixed_role |
bit |
如果是 1,則這個資料列代表其中一個固定資料庫角色的項目:db_owner、db_accessadmin、db_datareader、db_datawriter、db_ddladmin、db_securityadmin、db_backupoperator、db_denydatareader、db_denydatawriter。 |
權限
任何使用者都可以查看他們自己的使用者名稱、系統使用者和固定資料庫角色。若要查看其他使用者,則需要 ALTER ANY USER 或該使用者的權限。若要查看使用者定義角色,則需要 ALTER ANY ROLE 或該角色的成員資格。
在 SQL Server 2005 和更新的版本中,目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。如需詳細資訊,請參閱<中繼資料可見性組態>。