sys.server_permissions (Transact-SQL)

适用于: 是SQL Server(所有支持的版本) 是Azure SQL 托管实例 是并行数据仓库

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

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

100 = 服务器

101 = 服务器主体

105 = 端点

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

服务

SERVER_PRINCIPAL

终结点

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 = Grant With Grant 选项
state_desc nvarchar(60) 权限状态的说明:

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION
权限类型 权限名称 适用于安全对象
AAES ALTER ANY EVENT SESSION SERVER
ADBO ADMINISTER BULK OPERATIONS SERVER
AL ALTER ENDPOINT、LOGIN
ALAA ALTER ANY SERVER AUDIT SERVER
ALAG ALTER ANY AVAILABILITY GROUP SERVER
ALCD ALTER ANY CREDENTIAL SERVER
ALCO ALTER ANY CONNECTION SERVER
ALDB ALTER ANY DATABASE SERVER
ALES ALTER ANY EVENT NOTIFICATION SERVER
ALHE ALTER ANY ENDPOINT SERVER
ALLG ALTER ANY LOGIN SERVER
ALLS ALTER ANY LINKED SERVER SERVER
ALRS ALTER RESOURCES SERVER
ALSR ALTER ANY SERVER ROLE SERVER
ALSS ALTER SERVER STATE SERVER
ALST ALTER SETTINGS SERVER
ALTR ALTER TRACE SERVER
AUTH AUTHENTICATE SERVER SERVER
CADB CONNECT ANY DATABASE SERVER
CL CONTROL ENDPOINT、LOGIN
CL CONTROL SERVER SERVER
CO CONNECT ENDPOINT
COSQ CONNECT SQL SERVER
CRAC CREATE AVAILABILITY GROUP SERVER
CRDB CREATE ANY DATABASE SERVER
CRDE CREATE DDL EVENT NOTIFICATION SERVER
CRHE CREATE ENDPOINT SERVER
CRSR CREATE SERVER ROLE SERVER
CRTE CREATE TRACE EVENT NOTIFICATION SERVER
IAL IMPERSONATE ANY LOGIN SERVER
IM IMPERSONATE LOGIN
SHDN SHUTDOWN SERVER
SUS SELECT ALL USER SECURABLES SERVER
TO TAKE OWNERSHIP ENDPOINT
VW VIEW DEFINITION ENDPOINT、LOGIN
VWAD VIEW ANY DEFINITION SERVER
VWDB VIEW ANY DATABASE SERVER
VWSS VIEW SERVER STATE SERVER
XA EXTERNAL ACCESS SERVER
XU UNSAFE ASSEMBLY SERVER

权限

任何用户都可以查看自己的权限。 要查看其他登录权限,需要获取 VIEW DEFINITION、ALTER ANY LOGIN 或任何相关的登录权限。 要查看用户定义的服务器角色,需要获取 ALTER ANY 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)
权限(数据库引擎)
权限层次结构(数据库引擎)