共用方式為


sys.server_permissions (Transact-SQL)

針對每個伺服器層級權限,各傳回一個資料列。

適用於:SQL Server (SQL Server 2008 至目前版本)。

資料行名稱

資料類型

描述

類別

tinyint

識別權限所在項目的類別。

100 = 伺服器

101 = 伺服器-主體

105 = 端點

class_desc

nvarchar(60)

權限所在類別的描述。

  • SERVER

  • SERVER_PRINCIPAL

  • ENDPOINT

major_id

int

權限所在安全性實體的識別碼,它是根據類別加以解譯。 對大部份的項目來說,這只是套用至類別代表的識別碼。 下面是非標準的解譯:

100 = 一律是 0

minor_id

int

權限所在項目的次要識別碼,它是根據類別加以解譯。

grantee_principal_id

int

獲授與權限的伺服器主體識別碼。

grantor_principal_id

int

這些權限之同意授權者的伺服器主體識別碼。

型別

char(4)

伺服器權限類型。 如需權限類型的清單,請參閱下表。

permission_name

nvarchar(128)

權限名稱。

state

char(1)

權限狀態:

D = 拒絕

R = 撤銷

G = 授與

W = 以授與選項授與

state_desc

nvarchar(60)

權限狀態的描述:

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION

權限類型

權限名稱

適用於安全性實體

ADBO

ADMINISTER BULK OPERATIONS

SERVER

AL

ALTER

ENDPOINT、LOGIN

ALCD

ALTER ANY CREDENTIAL

SERVER

ALCO

ALTER ANY CONNECTION

SERVER

ALDB

ALTER ANY DATABASE

SERVER

ALES

ALTER ANY EVENT NOTIFICATION

SERVER

ALHE

ALTER ANY ENDPOINT

SERVER

ALLG

ALTER ANY LOGIN

SERVER

ALLS

ALTER ANY LINKED SERVER

SERVER

ALRS

ALTER RESOURCES

SERVER

ALSS

ALTER SERVER STATE

SERVER

ALST

ALTER SETTINGS

SERVER

ALTR

ALTER TRACE

SERVER

AUTH

AUTHENTICATE SERVER

SERVER

CL

CONTROL

ENDPOINT、LOGIN

CL

CONTROL SERVER

SERVER

CO

CONNECT

ENDPOINT

COSQ

CONNECT SQL

SERVER

CRDB

CREATE ANY DATABASE

SERVER

CRDE

CREATE DDL EVENT NOTIFICATION

SERVER

CRHE

CREATE ENDPOINT

SERVER

CRTE

CREATE TRACE EVENT NOTIFICATION

SERVER

IM

IMPERSONATE

LOGIN

SHDN

SHUTDOWN

SERVER

TO

TAKE OWNERSHIP

ENDPOINT

VW

VIEW DEFINITION

ENDPOINT、LOGIN

VWAD

VIEW ANY DEFINITION

SERVER

VWDB

VIEW ANY DATABASE

SERVER

VWSS

VIEW SERVER STATE

SERVER

XA

EXTERNAL ACCESS

SERVER

權限

任何使用者都可以查看他們自己的權限。 若要查看其他登入的權限,則需要 VIEW DEFINITION、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)