共用方式為


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 和更新的版本中,目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。如需詳細資訊,請參閱<中繼資料可見性組態>。