适用于: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';