適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
傳回伺服器內建許可權階層的描述。
sys.fn_builtin_permissions只能在 SQL Server 和 Azure SQL 資料庫 上呼叫,不論目前平臺上是否支援這些許可權,它都會傳回所有許可權。 大部分的許可權都適用於所有平臺,但有些則不適用。 例如,無法在 SQL 資料庫 上授與伺服器層級許可權。 如需哪些平台支援每個許可權的資訊,請參閱許可權(資料庫引擎)。
Syntax
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
Arguments
[ DEFAULT |NULL ]
使用 DEFAULT 選項呼叫函式時(不含引號),函式會傳回內建許可權的完整清單。
NULL 相當於 DEFAULT。
empty_string
相當於 DEFAULT。
「<securable_class>」
以一個安全性實體類別的名稱呼叫時, sys.fn_builtin_permissions 會傳回套用至 類別的所有許可權。
'<securable_class>' 是 nvarchar(60) 類型的字串常值,需要引號。
傳回的數據表
| 欄位名稱 | 數據類型 | Collation | Description |
|---|---|---|---|
| class_desc | nvarchar(60) | 伺服器的定序 | 安全性實體類別的描述。 |
| permission_name | nvarchar(60) | 伺服器的定序 | 權限名稱。 |
| 型別 | varchar(4) | 伺服器的定序 | 精簡許可權類型程序代碼。 請參閱下列數據表。 |
| covering_permission_name | nvarchar(60) | 伺服器的定序 | 如果不是 NULL,這是這個類別的許可權名稱,表示此類別的其他許可權。 |
| parent_class_desc | nvarchar(60) | 伺服器的定序 | 如果不是 NULL,這是包含目前類別的父類別名稱。 |
| parent_covering_permission_name | nvarchar(60) | 伺服器的定序 | 如果不是 NULL,這是父類別的許可權名稱,表示該類別上所有其他許可權。 |
權限類型
| 權限類型 | 權限名稱 | 適用於安全性實體或類別 |
|---|---|---|
| AADS | 修改任何資料庫事件會話 適用於:SQL Server 2014 (12.x) 和 更新版本。 |
DATABASE |
| AAES | 更改任何事件會話 | SERVER |
| AAMK | 更改任何遮罩 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| ADBO | 管理批量操作 | SERVER |
| AEDS | 更改任何外部資料來源 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| AEFF | 修改任何外部檔案格式 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| AL | ALTER | 應用角色 |
| AL | ALTER | ASSEMBLY |
| AL | ALTER 適用於:SQL Server 2012 (11.x) 和更新版本。 |
可用性群組 |
| AL | ALTER | 非對稱鍵 |
| AL | ALTER | CERTIFICATE |
| AL | ALTER | CONTRACT |
| AL | ALTER | DATABASE |
| AL | ALTER 適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。 |
資料庫範圍憑證 |
| AL | ALTER | ENDPOINT |
| AL | ALTER | 全文目錄 |
| AL | ALTER | 全文檢索停止清單 |
| AL | ALTER | LOGIN |
| AL | ALTER | 訊息類型 |
| AL | ALTER | OBJECT |
| AL | ALTER | 遠端服務綁定 |
| AL | ALTER | ROLE |
| AL | ALTER | ROUTE |
| AL | ALTER | SCHEMA |
| AL | ALTER | 搜尋房產清單 |
| AL | ALTER 適用於:SQL Server 2012 (11.x) 和更新版本。 |
伺服器角色 |
| AL | ALTER | SERVICE |
| AL | ALTER | 對稱鍵 |
| AL | ALTER | USER |
| AL | ALTER | XML 架構集合 |
| ALAA | 更改任何伺服器審計 | SERVER |
| ALAG | 變更任何可用性群組 適用於:SQL Server 2012 (11.x) 和更新版本。 |
SERVER |
| ALAK | 更改任何非對稱密鑰 | DATABASE |
| ALAR | 更改任何應用程式角色 | DATABASE |
| ALAS | 變更任何組件 | DATABASE |
| ALCD | 更改任何憑證 | SERVER |
| ALCF | 變更任何證書 | DATABASE |
| ALCK | 更改任何列加密金鑰 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| ALCM | 變更任意列主密鑰 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| ALCO | 變更任何連線 | SERVER |
| ALDA | 更改任何資料庫稽核 | DATABASE |
| ALDB | 變更任何資料庫 | SERVER |
| ALDC | 更改任何資料庫範圍的配置 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| ALDS | 修改任何資料空間 | DATABASE |
| ALED | 變更任何資料庫事件通知 | DATABASE |
| ALES | 更改任何事件通知 | SERVER |
| ALFT | ALTER ANY 全文目錄 | DATABASE |
| ALHE | 修改任何端點 | SERVER |
| ALLG | 變更任意登入 | SERVER |
| ALLS | 更改任何連接的伺服器 | SERVER |
| ALMT | 更改任何訊息類型 | DATABASE |
| ALRL | 變更任何角色 | DATABASE |
| ALRS | ALTER 資源 | SERVER |
| ALRT | 變更任何路由 | DATABASE |
| ALSB | 更改任何遠端服務綁定 | DATABASE |
| ALSC | 修改任何合約 | DATABASE |
| ALSK | 變更任意對稱金鑰 | DATABASE |
| ALSM | 更改任何架構 | DATABASE |
| ALSP | 更改任何安全策略 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| ALSR | 變更任何伺服器角色 適用於:SQL Server 2012 (11.x) 和更新版本。 |
SERVER |
| ALSS | 更改伺服器狀態 | SERVER |
| ALST | 變換設定 | SERVER |
| ALSV | 變更任何服務 | DATABASE |
| ALTG | 更改任何資料庫 DDL 觸發器 | DATABASE |
| ALTR | ALTER TRACE | SERVER |
| ALUS | 修改任何使用者 | DATABASE |
| AUTH | AUTHENTICATE | DATABASE |
| AUTH | 認證伺服器 | SERVER |
| BADB | 備份資料庫 | DATABASE |
| BALO | 備份日誌 | DATABASE |
| CADB | 連接任何資料庫 適用於:SQL Server 2014 (12.x) 和更新版本。 |
SERVER |
| CL | CONTROL | 應用角色 |
| CL | CONTROL | ASSEMBLY |
| CL | CONTROL | 非對稱鍵 |
| CL | CONTROL 適用於:SQL Server 2012 (11.x) 和更新版本。 |
可用性群組 |
| CL | CONTROL | CERTIFICATE |
| CL | CONTROL | CONTRACT |
| CL | CONTROL | DATABASE |
| CL | CONTROL 適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。 |
資料庫範圍憑證 |
| CL | CONTROL | ENDPOINT |
| CL | CONTROL | 全文目錄 |
| CL | CONTROL | 全文檢索停止清單 |
| CL | CONTROL | LOGIN |
| CL | CONTROL | 訊息類型 |
| CL | CONTROL | OBJECT |
| CL | CONTROL | 遠端服務綁定 |
| CL | CONTROL | ROLE |
| CL | CONTROL | ROUTE |
| CL | CONTROL | SCHEMA |
| CL | CONTROL | 搜尋房產清單 |
| CL | 控制伺服器 | SERVER |
| CL | CONTROL 適用於:SQL Server 2012 (11.x) 和更新版本。 |
伺服器角色 |
| CL | CONTROL | SERVICE |
| CL | CONTROL | 對稱鍵 |
| CL | CONTROL | TYPE |
| CL | CONTROL | USER |
| CL | CONTROL | XML 架構集合 |
| CO | CONNECT | DATABASE |
| CO | CONNECT | ENDPOINT |
| CORP | 連接複本 | DATABASE |
| COSQ | 連結 SQL | SERVER |
| CP | CHECKPOINT | DATABASE |
| CRAC | 建立可用性群組 適用於:SQL Server 2012 (11.x) 和更新版本。 |
SERVER |
| CRAG | 創建聚合 | DATABASE |
| CRAK | 建立非對稱金鑰 | DATABASE |
| CRAS | CREATE ASSEMBLY(建立組件) | DATABASE |
| CRCF | 創建證書 | DATABASE |
| CRDB | 建立任何資料庫 | SERVER |
| CRDB | 建立資料庫 | DATABASE |
| CRDE | 建立 DDL 事件通知 | SERVER |
| CRDF | 建立預設值 | DATABASE |
| CRED | 建立資料庫 DDL 事件通知 | DATABASE |
| CRFN | 建立函數 | DATABASE |
| CRFT | 建立全文目錄 | DATABASE |
| CRHE | 建立端點 | SERVER |
| CRMT | 建立消息類型 | DATABASE |
| CRPR | 建立程序 | DATABASE |
| CRQU | 建立佇列 | DATABASE |
| CRRL | 創建角色 | DATABASE |
| CRRT | 建立路由 | DATABASE |
| CRRU | 建立規則 | DATABASE |
| CRSB | 建立遠端服務系結 | DATABASE |
| CRSC | 建立合約 | DATABASE |
| CRSK | 建立對稱金鑰 | DATABASE |
| CRSM | 建立結構描述 | DATABASE |
| CRSN | CREATE 同義字 | DATABASE |
| CRSO | 建立序列 | SCHEMA |
| CRSR | 建立伺服器角色 適用於:SQL Server 2012 (11.x) 和更新版本。 |
SERVER |
| CRSV | 建立服務 | DATABASE |
| CRTB | CREATE TABLE | DATABASE |
| CRTE | 建立追蹤事件通知 | SERVER |
| CRTY | 建立類型 (CREATE TYPE) | DATABASE |
| CRVW | 建立視圖 | DATABASE |
| CRXS | 建立 XML 架構集合 | DATABASE |
| DABO | 管理資料庫批量操作 適用於:SQL Database。 |
DATABASE |
| DL | DELETE | DATABASE |
| DL | DELETE | OBJECT |
| DL | DELETE | SCHEMA |
| EAES | 執行任何外部腳本 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| EX | EXECUTE | DATABASE |
| EX | EXECUTE | OBJECT |
| EX | EXECUTE | SCHEMA |
| EX | EXECUTE | TYPE |
| EX | EXECUTE | XML 架構集合 |
| IAL | 冒充任何登入 適用於:SQL Server 2014 (12.x) 和更新版本。 |
SERVER |
| IM | IMPERSONATE | LOGIN |
| IM | IMPERSONATE | USER |
| IN | INSERT | DATABASE |
| IN | INSERT | OBJECT |
| IN | INSERT | SCHEMA |
| KIDC | 終止資料庫連線 適用於:Azure SQL Database。 |
DATABASE |
| RC | RECEIVE | OBJECT |
| RF | REFERENCES | ASSEMBLY |
| RF | REFERENCES | 非對稱鍵 |
| RF | REFERENCES | CERTIFICATE |
| RF | REFERENCES | CONTRACT |
| RF | REFERENCES | DATABASE |
| RF | REFERENCES 適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。 |
資料庫範圍憑證 |
| RF | REFERENCES | 全文目錄 |
| RF | REFERENCES | 全文檢索停止清單 |
| RF | REFERENCES | 搜尋房產清單 |
| RF | REFERENCES | 訊息類型 |
| RF | REFERENCES | OBJECT |
| RF | REFERENCES | SCHEMA |
| RF | REFERENCES | 對稱鍵 |
| RF | REFERENCES | TYPE |
| RF | REFERENCES | XML 架構集合 |
| SHDN | SHUTDOWN | SERVER |
| SL | SELECT | DATABASE |
| SL | SELECT | OBJECT |
| SL | SELECT | SCHEMA |
| SN | SEND | SERVICE |
| SPLN | SHOWPLAN | DATABASE |
| SUQN | 訂閱查詢通知 | DATABASE |
| SUS | 選取所有使用者安全性物件 適用於:SQL Server 2014 (12.x) 和更新版本。 |
SERVER |
| TO | 掌握所有權 | ASSEMBLY |
| TO | 掌握所有權 | 非對稱鍵 |
| TO | 掌握所有權 適用於:SQL Server 2012 (11.x) 和更新版本。 |
可用性群組 |
| TO | 掌握所有權 | CERTIFICATE |
| TO | 掌握所有權 | CONTRACT |
| TO | 掌握所有權 | DATABASE |
| TO | 掌握所有權 適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。 |
資料庫範圍憑證 |
| TO | 掌握所有權 | ENDPOINT |
| TO | 掌握所有權 | 全文目錄 |
| TO | 掌握所有權 | 全文檢索停止清單 |
| TO | 掌握所有權 | 搜尋房產清單 |
| TO | 掌握所有權 | 訊息類型 |
| TO | 掌握所有權 | OBJECT |
| TO | 掌握所有權 | 遠端服務綁定 |
| TO | 掌握所有權 | ROLE |
| TO | 掌握所有權 | ROUTE |
| TO | 掌握所有權 | SCHEMA |
| TO | 掌握所有權 適用於:SQL Server 2012 (11.x) 和更新版本。 |
伺服器角色 |
| TO | 掌握所有權 | SERVICE |
| TO | 掌握所有權 | 對稱鍵 |
| TO | 掌握所有權 | TYPE |
| TO | 掌握所有權 | XML 架構集合 |
| UMSK | UNMASK 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| UP | UPDATE | DATABASE |
| UP | UPDATE | OBJECT |
| UP | UPDATE | SCHEMA |
| VW | 檢視定義 | 應用角色 |
| VW | 檢視定義 | ASSEMBLY |
| VW | 檢視定義 | 非對稱鍵 |
| VW | 檢視定義 適用於:SQL Server 2012 (11.x) 和更新版本。 |
可用性群組 |
| VW | 檢視定義 | CERTIFICATE |
| VW | 檢視定義 | CONTRACT |
| VW | 檢視定義 | DATABASE |
| VW | 檢視定義 適用於:SQL Server 2017 (14.x) 和更新版本,以及 Azure SQL Database。 |
資料庫範圍憑證 |
| VW | 檢視定義 | ENDPOINT |
| VW | 檢視定義 | 全文目錄 |
| VW | 檢視定義 | 全文檢索停止清單 |
| VW | 檢視定義 | LOGIN |
| VW | 檢視定義 | 訊息類型 |
| VW | 檢視定義 | OBJECT |
| VW | 檢視定義 | 遠端服務綁定 |
| VW | 檢視定義 | ROLE |
| VW | 檢視定義 | ROUTE |
| VW | 檢視定義 | SCHEMA |
| VW | 檢視定義 | 搜尋房產清單 |
| VW | 檢視定義 適用於:SQL Server 2012 (11.x) 和更新版本。 |
伺服器角色 |
| VW | 檢視定義 | SERVICE |
| VW | 檢視定義 | 對稱鍵 |
| VW | 檢視定義 | TYPE |
| VW | 檢視定義 | USER |
| VW | 檢視定義 | XML 架構集合 |
| VWAD | 查看任何定義 | SERVER |
| VWCK | 檢視任何數據行加密金鑰定義 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| VWCM | 檢視任何資料行主要金鑰定義 適用於:SQL Server 2016 (13.x) 和更新版本。 |
DATABASE |
| VWCT | 查看變更追蹤 | OBJECT |
| VWCT | 查看變更追蹤 | SCHEMA |
| VWDB | 查看任何資料庫 | SERVER |
| VWDS | 檢視資料庫狀態 | DATABASE |
| VWSS | 查看伺服器狀態 | SERVER |
| XA | 外部存取組件 | SERVER |
| XU | 不安全集會 | SERVER |
Remarks
sys.fn_builtin_permissions 是數據表值函式,會發出預先定義許可權階層的複本。 此階層包含涵蓋許可權。
DEFAULT結果集描述許可權階層的有向、無循環圖表,根目錄為 (class = SERVER,permission = CONTROL SERVER)。
sys.fn_builtin_permissions 不接受相互關聯的參數。
sys.fn_builtin_permissions 使用無效的類別名稱呼叫時,會傳回空的集合。
下圖顯示這些權限及其彼此間的關聯性。 一些較高等級的權限 (例如 CONTROL SERVER) 會多次列出。 本文的海報字級太小,無法閱讀。 您可以下載 PDF 格式的全尺寸資料庫引擎權限海報。
Permissions
需要 public 角色中的成員資格。
Examples
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';