sys.server_principals (Transact-SQL)

針對每一個伺服器層級的主體,各包含一個資料列。

資料行名稱

資料類型

說明

name

sysname

主體的名稱。 在伺服器中,這是唯一的。

principal_id

int

主體的識別碼。 在伺服器中,這是唯一的。

sid

varbinary(85)

主體的 SID (安全性識別碼)。 如果是 Windows 主體,則與 Windows SID 相符。

型別

char(1)

主體類型:

S = SQL 登入

U = Windows 登入

G = Windows 群組

R = 伺服器角色

C = 對應至憑證的登入

K = 對應至非對稱金鑰的登入

type_desc

nvarchar(60)

主體類型的描述:

SQL_LOGIN

WINDOWS_LOGIN

WINDOWS_GROUP

SERVER_ROLE

CERTIFICATE_MAPPED_LOGIN

ASYMMETRIC_KEY_MAPPED_LOGIN

is_disabled

int

1 = 登入已停用。

create_date

datetime

建立主體的時間。

modify_date

datetime

上次修改主體定義的時間。

default_database_name

sysname

這個主體的預設資料庫。

default_language_name

sysname

這個主體的預設語言。

credential_id

int

與這個主體相關聯的認證識別碼。 如果沒有與這個主體相關聯的認證,則 credential_id 為 NULL。

owning_principal_id

int

伺服器角色擁有者的 principal_id。 如果主體不是伺服器角色,則為 NULL。

is_fixed_role

bit

如果主體是其中一個固定伺服器角色,則傳回 1。

權限

任何登入都可以查看他們自己的登入名稱、系統登入和固定伺服器角色。 若要查看其他登入,則需要 ALTER ANY LOGIN 或該登入的權限。 若要查看使用者定義伺服器角色,則需要 ALTER ANY SERVER ROLE 或該角色的成員資格。

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

範例

下列查詢會列出已明確授與或拒絕伺服器主體的權限。

重要事項重要事項

固定伺服器角色的權限並未出現在 sys.server_permissions 中。 因此,伺服器主體可能仍有其他未列於此處的權限。

SELECT pr.principal_id, pr.name, pr.type_desc, 
    pe.state_desc, pe.permission_name 
FROM sys.server_principals AS pr 
JOIN sys.server_permissions AS pe 
    ON pe.grantee_principal_id = pr.principal_id;

請參閱

參考

安全性目錄檢視 (Transact-SQL)

目錄檢視 (Transact-SQL)

概念

主體 (Database Engine)

權限階層 (Database Engine)