分享方式:


sys.fn_builtin_permissions (Transact-SQL)

適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體

傳回伺服器內建許可權階層的描述。 sys.fn_builtin_permissions只能在 SQL Server 和 Azure SQL 資料庫 上呼叫,不論目前平臺上是否支援這些許可權,它都會傳回所有許可權。 大部分的許可權都適用於所有平臺,但有些則不適用。 例如,無法在 SQL 資料庫 上授與伺服器層級許可權。 如需哪些平台支援每個許可權的資訊,請參閱許可權(資料庫引擎)。

Transact-SQL 語法慣例

語法

sys.fn_builtin_permissions ( [ DEFAULT | NULL ]
    | empty_string | '<securable_class>' } )
  
<securable_class> ::=
      APPLICATION ROLE | ASSEMBLY | ASYMMETRIC KEY | AVAILABILITY GROUP
    | CERTIFICATE | CONTRACT | DATABASE | DATABASE SCOPED CREDENTIAL
    | ENDPOINT | FULLTEXT CATALOG | FULLTEXT STOPLIST | LOGIN
    | MESSAGE TYPE | OBJECT | REMOTE SERVICE BINDING | ROLE | ROUTE
    | SCHEMA | SEARCH PROPERTY LIST | SERVER | SERVER ROLE | SERVICE
    | SYMMETRIC KEY | TYPE | USER | XML SCHEMA COLLECTION

引數

[ DEFAULT |NULL ]

使用 DEFAULT 選項呼叫函式時(不含引號),函式會傳回內建許可權的完整清單。

NULL 相當於 DEFAULT。

empty_string

相當於 DEFAULT。

'<securable_class>'

以一個安全性實體類別的名稱呼叫時, sys.fn_builtin_permissions 會傳回套用至 類別的所有許可權。 '<securable_class>'是 nvarchar(60) 類型的字串常值,需要引號。

傳回的數據表

資料行名稱 資料類型 定序 描述
class_desc nvarchar(60) 伺服器的定序 安全性實體類別的描述。
permission_name nvarchar(60) 伺服器的定序 許可權名稱。
type varchar(4) 伺服器的定序 精簡許可權類型程序代碼。 請參閱下列數據表。
covering_permission_name nvarchar(60) 伺服器的定序 如果不是 NULL,這是這個類別的許可權名稱,表示此類別的其他許可權。
parent_class_desc nvarchar(60) 伺服器的定序 如果不是 NULL,這是包含目前類別的父類別名稱。
parent_covering_permission_name nvarchar(60) 伺服器的定序 如果不是 NULL,這是父類別的許可權名稱,表示該類別上所有其他許可權。

權限類型

權限類型 權限名稱 適用於安全性實體或類別
AADS ALTER ANY DATABASE EVENT SESSION

適用於:SQL Server 2014 (12.x) 和更新版本
DATABASE
AAES ALTER ANY EVENT SESSION SERVER
AAMK ALTER ANY MASK

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
ADBO ADMINISTER BULK OPERATIONS SERVER
AEDS ALTER ANY EXTERNAL DATA SOURCE

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
AEFF ALTER ANY EXTERNAL FILE FORMAT

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
AL ALTER APPLICATION ROLE
AL ALTER ASSEMBLY
AL ALTER

適用於:SQL Server 2012 (11.x) 和更新版本。
AVAILABILITY GROUP
AL ALTER ASYMMETRIC KEY
AL ALTER CERTIFICATE
AL ALTER CONTRACT
AL ALTER DATABASE
AL ALTER

適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。
DATABASE SCOPED CREDENTIAL
AL ALTER 端點
AL ALTER FULLTEXT CATALOG
AL ALTER FULLTEXT STOPLIST
AL ALTER LOGIN
AL ALTER MESSAGE TYPE
AL ALTER OBJECT
AL ALTER REMOTE SERVICE BINDING
AL ALTER ROLE
AL ALTER ROUTE
AL ALTER SCHEMA
AL ALTER SEARCH PROPERTY LIST
AL ALTER

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER ROLE
AL ALTER SERVICE
AL ALTER SYMMETRIC KEY
AL ALTER USER
AL ALTER XML SCHEMA COLLECTION
ALAA ALTER ANY SERVER AUDIT SERVER
ALAG ALTER ANY AVAILABILITY GROUP

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER
ALAK ALTER ANY ASYMMETRIC KEY DATABASE
ALAR ALTER ANY APPLICATION ROLE DATABASE
ALAS ALTER ANY ASSEMBLY DATABASE
ALCD ALTER ANY CREDENTIAL SERVER
ALCF ALTER ANY CERTIFICATE DATABASE
ALCK ALTER ANY COLUMN ENCRYPTION KEY

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
ALCM ALTER ANY COLUMN MASTER KEY

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
ALCO ALTER ANY CONNECTION SERVER
ALDA ALTER ANY DATABASE AUDIT DATABASE
ALDB ALTER ANY DATABASE SERVER
ALDC ALTER ANY DATABASE SCOPED CONFIGURATION

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
ALDS ALTER ANY DATASPACE DATABASE
ALED ALTER ANY DATABASE EVENT NOTIFICATION DATABASE
ALES ALTER ANY EVENT NOTIFICATION SERVER
ALFT ALTER ANY FULLTEXT CATALOG DATABASE
ALHE ALTER ANY ENDPOINT SERVER
ALLG ALTER ANY LOGIN SERVER
ALLS ALTER ANY LINKED SERVER SERVER
ALMT ALTER ANY MESSAGE TYPE DATABASE
ALRL ALTER ANY ROLE DATABASE
ALRS ALTER RESOURCES SERVER
ALRT ALTER ANY ROUTE DATABASE
ALSB ALTER ANY REMOTE SERVICE BINDING DATABASE
ALSC ALTER ANY CONTRACT DATABASE
ALSK ALTER ANY SYMMETRIC KEY DATABASE
ALSM ALTER ANY SCHEMA DATABASE
ALSP ALTER ANY SECURITY POLICY

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
ALSR ALTER ANY SERVER ROLE

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER
ALSS ALTER SERVER STATE SERVER
ALST ALTER SETTINGS SERVER
ALSV ALTER ANY SERVICE DATABASE
ALTG ALTER ANY DATABASE DDL TRIGGER DATABASE
ALTR ALTER TRACE SERVER
ALUS 修改任何使用者 DATABASE
AUTH AUTHENTICATE DATABASE
AUTH AUTHENTICATE SERVER SERVER
BADB BACKUP DATABASE DATABASE
BALO BACKUP LOG DATABASE
CADB CONNECT ANY DATABASE

適用於:SQL Server 2014 (12.x) 和更新版本。
SERVER
CL CONTROL APPLICATION ROLE
CL CONTROL ASSEMBLY
CL CONTROL ASYMMETRIC KEY
CL CONTROL

適用於:SQL Server 2012 (11.x) 和更新版本。
AVAILABILITY GROUP
CL CONTROL CERTIFICATE
CL CONTROL CONTRACT
CL CONTROL DATABASE
CL CONTROL

適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。
DATABASE SCOPED CREDENTIAL
CL CONTROL 端點
CL CONTROL FULLTEXT CATALOG
CL CONTROL FULLTEXT STOPLIST
CL CONTROL LOGIN
CL CONTROL MESSAGE TYPE
CL CONTROL OBJECT
CL CONTROL REMOTE SERVICE BINDING
CL CONTROL ROLE
CL CONTROL ROUTE
CL CONTROL SCHEMA
CL CONTROL SEARCH PROPERTY LIST
CL CONTROL SERVER SERVER
CL CONTROL

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER ROLE
CL CONTROL SERVICE
CL CONTROL SYMMETRIC KEY
CL CONTROL TYPE
CL CONTROL USER
CL CONTROL XML SCHEMA COLLECTION
CO CONNECT DATABASE
CO CONNECT 端點
CORP CONNECT REPLICATION DATABASE
COSQ CONNECT SQL SERVER
CP CHECKPOINT DATABASE
CRAC CREATE AVAILABILITY GROUP

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER
CRAG CREATE AGGREGATE DATABASE
CRAK CREATE ASYMMETRIC KEY DATABASE
CRAS CREATE ASSEMBLY DATABASE
CRCF CREATE CERTIFICATE DATABASE
CRDB CREATE ANY DATABASE SERVER
CRDB CREATE DATABASE DATABASE
CRDE CREATE DDL EVENT NOTIFICATION SERVER
CRDF CREATE DEFAULT DATABASE
CRED CREATE DATABASE DDL EVENT NOTIFICATION DATABASE
CRFN CREATE FUNCTION DATABASE
CRFT CREATE FULLTEXT CATALOG DATABASE
CRHE CREATE ENDPOINT SERVER
CRMT CREATE MESSAGE TYPE DATABASE
CRPR 建立程序 DATABASE
CRQU CREATE QUEUE DATABASE
CRRL CREATE ROLE DATABASE
CRRT CREATE ROUTE DATABASE
CRRU CREATE RULE DATABASE
CRSB CREATE REMOTE SERVICE BINDING DATABASE
CRSC CREATE CONTRACT DATABASE
CRSK CREATE SYMMETRIC KEY DATABASE
CRSM CREATE SCHEMA DATABASE
CRSN CREATE SYNONYM DATABASE
CRSO CREATE SEQUENCE SCHEMA
CRSR CREATE SERVER ROLE

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER
CRSV CREATE SERVICE DATABASE
CRTB 建立資料表 DATABASE
CRTE CREATE TRACE EVENT NOTIFICATION SERVER
CRTY 建立類型 DATABASE
CRVW 建立檢視 DATABASE
CRXS CREATE XML SCHEMA COLLECTION DATABASE
DABO ADMINISTER DATABASE BULK OPERATIONS

適用於:SQL Database。
DATABASE
DL DELETE DATABASE
DL DELETE OBJECT
DL DELETE SCHEMA
EAES EXECUTE ANY EXTERNAL SCRIPT

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
EX 執行 CREATE 陳述式之前,請先執行 DATABASE
EX 執行 CREATE 陳述式之前,請先執行 OBJECT
EX 執行 CREATE 陳述式之前,請先執行 SCHEMA
EX 執行 CREATE 陳述式之前,請先執行 TYPE
EX 執行 CREATE 陳述式之前,請先執行 XML SCHEMA COLLECTION
IAL IMPERSONATE ANY LOGIN

適用於:SQL Server 2014 (12.x) 和更新版本。
SERVER
IM IMPERSONATE LOGIN
IM IMPERSONATE USER
IN INSERT DATABASE
IN Insert OBJECT
IN Insert SCHEMA
KIDC KILL DATABASE CONNECTION

適用於:Azure SQL Database。
DATABASE
RC RECEIVE OBJECT
RF REFERENCES ASSEMBLY
RF REFERENCES ASYMMETRIC KEY
RF REFERENCES CERTIFICATE
RF REFERENCES CONTRACT
RF REFERENCES DATABASE
RF REFERENCES

適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。
DATABASE SCOPED CREDENTIAL
RF REFERENCES FULLTEXT CATALOG
RF REFERENCES FULLTEXT STOPLIST
RF REFERENCES SEARCH PROPERTY LIST
RF REFERENCES MESSAGE TYPE
RF REFERENCES OBJECT
RF REFERENCES SCHEMA
RF REFERENCES SYMMETRIC KEY
RF REFERENCES TYPE
RF REFERENCES XML SCHEMA COLLECTION
SHDN SHUTDOWN SERVER
SL SELECT DATABASE
SL SELECT OBJECT
SL SELECT SCHEMA
SN SEND SERVICE
SPLN SHOWPLAN DATABASE
SUQN SUBSCRIBE QUERY NOTIFICATIONS DATABASE
SUS SELECT ALL USER SECURABLES

適用於:SQL Server 2014 (12.x) 和更新版本。
SERVER
收件人 TAKE OWNERSHIP ASSEMBLY
收件人 TAKE OWNERSHIP ASYMMETRIC KEY
收件人 TAKE OWNERSHIP

適用於:SQL Server 2012 (11.x) 和更新版本。
AVAILABILITY GROUP
收件人 TAKE OWNERSHIP CERTIFICATE
收件人 TAKE OWNERSHIP CONTRACT
收件人 TAKE OWNERSHIP DATABASE
收件人 TAKE OWNERSHIP

適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。
DATABASE SCOPED CREDENTIAL
收件人 TAKE OWNERSHIP 端點
收件人 TAKE OWNERSHIP FULLTEXT CATALOG
收件人 TAKE OWNERSHIP FULLTEXT STOPLIST
收件人 TAKE OWNERSHIP SEARCH PROPERTY LIST
收件人 TAKE OWNERSHIP MESSAGE TYPE
收件人 TAKE OWNERSHIP OBJECT
收件人 TAKE OWNERSHIP REMOTE SERVICE BINDING
收件人 TAKE OWNERSHIP ROLE
收件人 TAKE OWNERSHIP ROUTE
收件人 TAKE OWNERSHIP SCHEMA
收件人 TAKE OWNERSHIP

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER ROLE
收件人 TAKE OWNERSHIP SERVICE
收件人 TAKE OWNERSHIP SYMMETRIC KEY
收件人 TAKE OWNERSHIP TYPE
收件人 TAKE OWNERSHIP XML SCHEMA COLLECTION
UMSK UNMASK

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
UP UPDATE DATABASE
UP UPDATE OBJECT
UP UPDATE SCHEMA
VW VIEW DEFINITION APPLICATION ROLE
VW VIEW DEFINITION ASSEMBLY
VW VIEW DEFINITION ASYMMETRIC KEY
VW VIEW DEFINITION

適用於:SQL Server 2012 (11.x) 和更新版本。
AVAILABILITY GROUP
VW VIEW DEFINITION CERTIFICATE
VW VIEW DEFINITION CONTRACT
VW VIEW DEFINITION DATABASE
VW VIEW DEFINITION

適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。
DATABASE SCOPED CREDENTIAL
VW VIEW DEFINITION 端點
VW VIEW DEFINITION FULLTEXT CATALOG
VW VIEW DEFINITION FULLTEXT STOPLIST
VW VIEW DEFINITION LOGIN
VW VIEW DEFINITION MESSAGE TYPE
VW VIEW DEFINITION OBJECT
VW VIEW DEFINITION REMOTE SERVICE BINDING
VW VIEW DEFINITION ROLE
VW VIEW DEFINITION ROUTE
VW VIEW DEFINITION SCHEMA
VW VIEW DEFINITION SEARCH PROPERTY LIST
VW VIEW DEFINITION

適用於:SQL Server 2012 (11.x) 和更新版本。
SERVER ROLE
VW VIEW DEFINITION SERVICE
VW VIEW DEFINITION SYMMETRIC KEY
VW VIEW DEFINITION TYPE
VW VIEW DEFINITION USER
VW VIEW DEFINITION XML SCHEMA COLLECTION
VWAD VIEW ANY DEFINITION SERVER
VWCK VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
VWCM VIEW ANY COLUMN MASTER KEY DEFINITION

適用於:SQL Server 2016 (13.x) 和更新版本。
DATABASE
VWCT VIEW CHANGE TRACKING OBJECT
VWCT VIEW CHANGE TRACKING SCHEMA
VWDB VIEW ANY DATABASE SERVER
VWDS 檢視資料庫狀態 DATABASE
VWSS VIEW SERVER STATE SERVER
XA EXTERNAL ACCESS ASSEMBLY SERVER
XU UNSAFE ASSEMBLY SERVER

備註

sys.fn_builtin_permissions 是數據表值函式,會發出預先定義許可權階層的複本。 此階層包含涵蓋許可權。 DEFAULT結果集描述許可權階層的有向、無循環圖表,根目錄為 (class = SERVER,permission = CONTROL SERVER)。

sys.fn_builtin_permissions 不接受相互關聯的參數。

sys.fn_builtin_permissions 使用無效的類別名稱呼叫時,會傳回空的集合。

下圖顯示這些權限及其彼此間的關聯性。 一些較高等級的權限 (例如 CONTROL SERVER) 會多次列出。 本文的海報字級太小,無法閱讀。 您可以下載 PDF 格式的全尺寸資料庫引擎權限海報

資料庫引擎權限 PDF 的螢幕擷取畫面。

權限

需要 public 角色中的成員資格。

範例

A. 列出所有內建許可權

使用 DEFAULT 或空字串傳回所有許可權。

SELECT * FROM sys.fn_builtin_permissions(DEFAULT);
SELECT * FROM sys.fn_builtin_permissions('');

B. 列出可在對稱金鑰上設定的許可權

指定類別以傳回該類別的所有可能許可權。

SELECT * FROM sys.fn_builtin_permissions(N'SYMMETRIC KEY');

C. 列出有 SELECT 許可權的類別

SELECT * FROM sys.fn_builtin_permissions(DEFAULT)
    WHERE permission_name = 'SELECT';

另請參閱