适用于:SQL Server
Azure SQL 数据库
Azure SQL 托管实例
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) 类型的字符串文本,需要引号。
Tables returned
| Column name | Data type | Collation | Description |
|---|---|---|---|
| class_desc | nvarchar(60) | 服务器的排序规则 | 安全对象类的说明。 |
| permission_name | nvarchar(60) | 服务器的排序规则 | Permission name. |
| 类型 | varchar(4) | 服务器的排序规则 | 压缩权限类型代码。 请参阅后面的表。 |
| covering_permission_name | nvarchar(60) | 服务器的排序规则 | 如果不为 NULL,则为该类的权限名称(隐含该类的其他权限)。 |
| parent_class_desc | nvarchar(60) | 服务器的排序规则 | 如果不为 NULL,则为包含当前类的父类的名称。 |
| parent_covering_permission_name | nvarchar(60) | 服务器的排序规则 | 如果不为 NULL,则为父类的权限名称(隐含该类的所有其他权限)。 |
Permission types
| Permission type | Permission name | 应用于安全对象或类 |
|---|---|---|
| AADS | ALTER ANY DATABASE 事件会话 适用于:SQL Server 2014 (12.x) 及 更高版本。 |
DATABASE |
| AAES | ALTER ANY EVENT SESSION | 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 | 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 数据库。 |
数据库作用域凭据 |
| AL | ALTER | ENDPOINT |
| AL | ALTER | FULLTEXT CATALOG |
| AL | ALTER | FULLTEXT STOPLIST |
| AL | ALTER | LOGIN |
| AL | ALTER | MESSAGE TYPE |
| AL | ALTER | OBJECT |
| AL | ALTER | 远程服务绑定 |
| AL | ALTER | ROLE |
| AL | ALTER | ROUTE |
| AL | ALTER | SCHEMA |
| AL | ALTER | SEARCH 属性列表 |
| AL | ALTER 适用于:SQL Server 2012 (11.x) 及更高版本。 |
SERVER ROLE |
| AL | ALTER | SERVICE |
| AL | ALTER | SYMMETRIC KEY |
| AL | ALTER | USER |
| AL | ALTER | XML 架构集合 |
| ALAA | ALTER ANY SERVER AUDIT | SERVER |
| ALAG | 修改任何可用性组 适用于:SQL Server 2012 (11.x) 及更高版本。 |
SERVER |
| ALAK | 更改任何非对称密钥 | DATABASE |
| ALAR | 修改任意应用角色 | DATABASE |
| ALAS | ALTER ANY ASSEMBLY | DATABASE |
| ALCD | ALTER ANY CREDENTIAL | SERVER |
| ALCF | 修改任何证书 | DATABASE |
| ALCK | 更改任何列加密密钥 适用于:SQL Server 2016(13.x)及更高版本。 |
DATABASE |
| ALCM | ALTER ANY COLUMN MASTER KEY 适用于:SQL Server 2016(13.x)及更高版本。 |
DATABASE |
| ALCO | 更改任何连接 | SERVER |
| ALDA | 修改任何数据库审核 | DATABASE |
| ALDB | 更改任何数据库 | SERVER |
| ALDC | 更改任何数据库作用域配置 适用于:SQL Server 2016(13.x)及更高版本。 |
DATABASE |
| ALDS | 更改任何数据空间 | DATABASE |
| ALED | ALTER ANY DATABASE 事件通知 | DATABASE |
| ALES | 修改任何事件通知 | SERVER |
| ALFT | 更改任何全文目录 | DATABASE |
| ALHE | 修改任何终结点 | SERVER |
| ALLG | ALTER ANY LOGIN | SERVER |
| ALLS | 更改任何链接服务器 | SERVER |
| ALMT | 更改任何消息类型 | DATABASE |
| ALRL | 修改任意角色 | DATABASE |
| ALRS | ALTER RESOURCES | 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 | ALTER SETTINGS | SERVER |
| ALSV | 更改任何服务 | 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 | 连接任何数据库 适用于: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 数据库。 |
数据库作用域凭据 |
| CL | CONTROL | ENDPOINT |
| CL | CONTROL | FULLTEXT CATALOG |
| CL | CONTROL | FULLTEXT STOPLIST |
| CL | CONTROL | LOGIN |
| CL | CONTROL | MESSAGE TYPE |
| CL | CONTROL | OBJECT |
| CL | CONTROL | 远程服务绑定 |
| CL | CONTROL | ROLE |
| CL | CONTROL | ROUTE |
| CL | CONTROL | SCHEMA |
| CL | CONTROL | SEARCH 属性列表 |
| 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 架构集合 |
| CO | CONNECT | DATABASE |
| CO | CONNECT | ENDPOINT |
| CORP | CONNECT REPLICATION | DATABASE |
| COSQ | CONNECT SQL | SERVER |
| CP | CHECKPOINT | DATABASE |
| CRAC | 创建可用性组 适用于:SQL Server 2012 (11.x) 及更高版本。 |
SERVER |
| CRAG | CREATE AGGREGATE | DATABASE |
| CRAK | 创建非对称密钥 | DATABASE |
| CRAS | CREATE ASSEMBLY | DATABASE |
| CRCF | CREATE CERTIFICATE | DATABASE |
| CRDB | 创建任意数据库 | SERVER |
| CRDB | CREATE DATABASE | DATABASE |
| CRDE | 创建 DDL 事件通知 | SERVER |
| CRDF | CREATE DEFAULT | DATABASE |
| CRED | CREATE DATABASE DDL 事件通知 | DATABASE |
| CRFN | CREATE FUNCTION | DATABASE |
| CRFT | 创建全文目录 | DATABASE |
| CRHE | CREATE ENDPOINT | SERVER |
| CRMT | 创建消息类型 | DATABASE |
| CRPR | CREATE PROCEDURE | DATABASE |
| CRQU | CREATE QUEUE | DATABASE |
| CRRL | CREATE ROLE | DATABASE |
| CRRT | CREATE ROUTE | DATABASE |
| CRRU | CREATE RULE | DATABASE |
| CRSB | 创建远程服务绑定 | DATABASE |
| CRSC | CREATE CONTRACT | DATABASE |
| CRSK | 创建对称密钥 | 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 | CREATE TABLE | DATABASE |
| CRTE | 创建跟踪事件通知 | SERVER |
| CRTY | CREATE TYPE | DATABASE |
| CRVW | CREATE VIEW | DATABASE |
| CRXS | 创建 XML 架构集合 | DATABASE |
| DABO | 管理数据库批量操作 适用于:SQL 数据库。 |
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 |
| 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 数据库。 |
数据库作用域凭据 |
| RF | REFERENCES | FULLTEXT CATALOG |
| RF | REFERENCES | FULLTEXT STOPLIST |
| RF | REFERENCES | SEARCH 属性列表 |
| RF | REFERENCES | MESSAGE TYPE |
| RF | REFERENCES | OBJECT |
| RF | REFERENCES | SCHEMA |
| RF | REFERENCES | SYMMETRIC KEY |
| 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 | TAKE OWNERSHIP | ASSEMBLY |
| TO | TAKE OWNERSHIP | ASYMMETRIC KEY |
| TO | TAKE OWNERSHIP 适用于:SQL Server 2012 (11.x) 及更高版本。 |
AVAILABILITY GROUP |
| TO | TAKE OWNERSHIP | CERTIFICATE |
| TO | TAKE OWNERSHIP | CONTRACT |
| TO | TAKE OWNERSHIP | DATABASE |
| TO | TAKE OWNERSHIP 适用于:SQL Server 2017(14.x)及更高版本以及 Azure SQL 数据库。 |
数据库作用域凭据 |
| TO | TAKE OWNERSHIP | ENDPOINT |
| TO | TAKE OWNERSHIP | FULLTEXT CATALOG |
| TO | TAKE OWNERSHIP | FULLTEXT STOPLIST |
| TO | TAKE OWNERSHIP | SEARCH 属性列表 |
| TO | TAKE OWNERSHIP | MESSAGE TYPE |
| TO | TAKE OWNERSHIP | OBJECT |
| TO | TAKE OWNERSHIP | 远程服务绑定 |
| TO | TAKE OWNERSHIP | ROLE |
| TO | TAKE OWNERSHIP | ROUTE |
| TO | TAKE OWNERSHIP | SCHEMA |
| TO | TAKE OWNERSHIP 适用于:SQL Server 2012 (11.x) 及更高版本。 |
SERVER ROLE |
| TO | TAKE OWNERSHIP | SERVICE |
| TO | TAKE OWNERSHIP | SYMMETRIC KEY |
| TO | TAKE OWNERSHIP | TYPE |
| TO | TAKE OWNERSHIP | XML 架构集合 |
| 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 数据库。 |
数据库作用域凭据 |
| VW | VIEW DEFINITION | ENDPOINT |
| 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 | 远程服务绑定 |
| VW | VIEW DEFINITION | ROLE |
| VW | VIEW DEFINITION | ROUTE |
| VW | VIEW DEFINITION | SCHEMA |
| VW | VIEW DEFINITION | SEARCH 属性列表 |
| 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 架构集合 |
| 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 | UNSAFE ASSEMBLY | 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';