sys.server_permissions (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed InstanceAnalytics Platform System (PDW)

Devuelve una fila por cada permiso de nivel de servidor.

Nombre de la columna Tipo de datos Descripción
class tinyint Identifica la clase de elemento sobre el que existe el permiso.

100 = Servidor

101 = Entidad de seguridad de servidor

105 = Extremo

108 = Grupo de disponibilidad
class_desc nvarchar(60) Descripción de la clase en la que existe el permiso. Uno de los siguientes valores:

SERVER

SERVER_PRINCIPAL

ENDPOINT

AVAILABILITY GROUP
major_id int Id. del elemento protegible sobre el que existe el permiso, interpretado según la clase. Para la mayoría, solo es el tipo de Id. que se aplica a lo que representa la clase. La interpretación de lo que no es estándar es la siguiente:

100 = Siempre 0
minor_id int Id. secundaria del elemento sobre el que existe el permiso, interpretado según la clase.
grantee_principal_id int Id. de la entidad de seguridad de servidor a la que se conceden los permisos.
grantor_principal_id int Id. de la entidad de seguridad de servidor del que concede esos permisos.
type char(4) Tipo de permiso de servidor. Para obtener una lista de los tipos de permisos, vea la tabla siguiente.
permission_name nvarchar(128) Nombre del permiso.
state char(1) Estado del permiso:

D = Denegar

R = Revocar

G = Conceder

W = Conceder con la opción conceder
state_desc nvarchar(60) Descripción del estado del permiso:

DENY

REVOKE

GRANT

GRANT_WITH_GRANT_OPTION
Tipo de permiso Nombre de permiso Se aplica a un elemento protegible
AAES ALTERAR CUALQUIER EVENT SESSION SERVER
ADBO ADMINISTRACIÓN DE OPERACIONES MASIVAS SERVER
AL ALTER ENDPOINT, LOGIN
ALAA ALTERAR CUALQUIER SERVER AUDIT SERVER
ALAG ALTERAR CUALQUIER AVAILABILITY GROUP SERVER
ALCD ALTERAR CUALQUIER CREDENTIAL SERVER
ALCO ALTERAR CUALQUIER CONEXIÓN SERVER
ALDB ALTERAR CUALQUIER DATABASE SERVER
ALES ALTERAR CUALQUIER EVENT NOTIFICATION SERVER
ALHE ALTERAR CUALQUIER ENDPOINT SERVER
ALLG ALTERAR CUALQUIER LOGIN SERVER
ALLS ALTERAR CUALQUIER SERVIDOR VINCULADO SERVER
ALRS MODIFICAR RECURSOS SERVER
ALSR ALTERAR CUALQUIER SERVER ROLE SERVER
ALSS ALTERAR ESTADO DEL SERVIDOR SERVER
ALST MODIFICAR CONFIGURACIONES SERVER
ALTR ALTER TRACE SERVER
AUTH AUTENTICAR SERVIDOR SERVER
CADB CONECTA CUALQUIER DATABASE SERVER
CL CONTROL ENDPOINT, LOGIN
CL SERVIDOR DE CONTROL SERVER
CO CONNECT ENDPOINT
COSQ Conectar a SQL SERVER
CRAC CREATE AVAILABILITY GROUP SERVER
CRDB CREA CUALQUIERA DATABASE SERVER
CRDE CREAR DDL EVENT NOTIFICATION SERVER
CRHE CREATE ENDPOINT SERVER
CRSR CREATE SERVER ROLE SERVER
CRTE CREAR TRACE EVENT NOTIFICATION SERVER
IAL HACERSE PASAR POR CUALQUIER LOGIN SERVER
IM IMPERSONATE LOGIN
SHDN SHUTDOWN SERVER
SUS SELECCIONA TODOS USER LOS VALORES SERVER
TO ASUMIR RESPONSABILIDAD ENDPOINT
VW VIEW DEFINICIÓN ENDPOINT, LOGIN
VWAD VIEW CUALQUIER DEFINICIÓN SERVER
VWDB VIEW CUALQUIERA DATABASE SERVER
VWSS VIEW ESTADO DEL SERVIDOR SERVER
XA ACCESO EXTERNO SERVER
XU INSEGURO ASSEMBLY SERVER

Permisos

Cualquier usuario puede ver sus propios permisos. Para ver permisos para otros inicios de sesión, se requiere VIEW DEFINICIÓN, MODIFICAR CUALQUIER LOGIN, o cualquier permiso en un inicio de sesión. Para ver los roles de servidor definidos por el usuario, se requiere ALTERAR CUALQUIER SERVER ROLE, o pertenencia al rol.

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario ha recibido algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VIEW ANY SECURITY DEFINITION en el servidor.

Ejemplos

La consulta siguiente enumera los permisos que se otorgan o deniegan específicamente a las entidades de seguridad de servidor.

Importante

Los permisos de roles fijos de servidor no aparecen en sys.server_permissions. Por tanto, es posible que las entidades de seguridad de servidor tengan permisos adicionales que no aparezcan aquí.

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;  

Consulte también

Vistas de catálogo de seguridad (Transact-SQL)
Elementos protegibles
Vistas de catálogo (Transact-SQL)
Permisos (motor de base de datos)
Jerarquía de permisos (motor de base de datos)