sys.server_permissions(Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例分析平台系统 (PDW)

为每个服务器级权限返回一行。

列名称 数据类型 说明
class tinyint 标识存在权限的对象的类。

100 = 服务器

101 = 服务器主体

105 = 端点

108 = 可用性组
class_desc nvarchar(60) 权限所针对的类的说明。 以下值之一:

SERVER

SERVER_PRINCIPAL

ENDPOINT

AVAILABILITY GROUP
major_id int 存在权限的安全对象的 ID,根据类解释。 通常情况下,这只是一种应用于类表示的内容的 ID。 非标准的解释如下:

100 = 始终为 0
minor_id int 存在权限的对象的辅助 ID,根据类进行解释。
grantee_principal_id int 向其授予权限的服务器主体 ID。
grantor_principal_id int 这些权限的授权者的服务器主体 ID。
type char(4) 服务器权限类型。 有关权限类型的列表,请参阅下一个表。
permission_name nvarchar(128) 权限名称。
state char(1) 权限状态:

D = 拒绝

R = 撤消

G = 授予

W = 授予授予选项
state_desc nvarchar(60) 权限状态的说明:

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION
权限类型 权限名称 适用于安全对象
AAES 更改任意 EVENT SESSION SERVER
ADBO 管理批量操作 SERVER
AL ALTER ENDPOINT、LOGIN
ALAA 更改任意 SERVER AUDIT SERVER
ALAG 更改任意 AVAILABILITY GROUP SERVER
ALCD 更改任意 CREDENTIAL SERVER
ALCO 更改任何连接 SERVER
ALDB 更改任意 DATABASE SERVER
ALES 更改任意 EVENT NOTIFICATION SERVER
ALHE 更改任意 ENDPOINT SERVER
ALLG 更改任意 LOGIN SERVER
ALLS 更改任何链接服务器 SERVER
ALRS 更改资源 SERVER
ALSR 更改任意 SERVER ROLE SERVER
ALSS 更改服务器状态 SERVER
ALST 修改设置 SERVER
ALTR ALTER 追踪 SERVER
AUTH 身份验证服务器 SERVER
CADB 连接任意 DATABASE SERVER
CL CONTROL ENDPOINT、LOGIN
CL 控制服务器 SERVER
CO CONNECT ENDPOINT
COSQ 连接 SQL SERVER
CRAC CREATE AVAILABILITY GROUP SERVER
CRDB 创造任何一个 DATABASE SERVER
CRDE 创建DDL EVENT NOTIFICATION SERVER
CRHE CREATE ENDPOINT SERVER
CRSR CREATE SERVER ROLE SERVER
CRTE 创建追踪 EVENT NOTIFICATION SERVER
IAL 冒充任何 LOGIN SERVER
IM IMPERSONATE LOGIN
SHDN SHUTDOWN SERVER
SUS 选择所有 USER 担保资产 SERVER
TO 获得所有权 ENDPOINT
VW VIEW 定义 ENDPOINT、LOGIN
VWAD VIEW 任何定义 SERVER
VWDB VIEW 任何 DATABASE SERVER
VWSS VIEW 服务器状态 SERVER
XA 外部访问 SERVER
XU 不安全 ASSEMBLY SERVER

权限

任何用户都可以查看自己的权限。 要查看其他登录权限,需要 VIEW 定义、更改任意 LOGIN,或登录时的任何权限。 要查看用户自定义服务器角色,需要更改任何 SERVER ROLE,或是该角色的成员资格。

目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。 有关详细信息,请参阅 Metadata Visibility Configuration

示例

以下查询将列出明确对服务器主体授予或拒绝的权限。

重要

固定服务器角色的权限不会出现在 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)
权限(数据库引擎)
权限层次结构(数据库引擎)