Compartir a través de


ROL DE SERVIDOR DE BAJA (Transact-SQL)

Se aplica a: SQL ServerAzure SQL Instancia administrada Azure Synapse Analytics AnalyticsPlatform System (PDW)

Quita un rol de servidor definido por el usuario.

Los roles de servidor definidos por el usuario se introdujeron en SQL Server 2012 (11.x).

Convenciones de sintaxis de Transact-SQL

Sintaxis

DROP SERVER ROLE role_name
[ ; ]

Argumentos

role_name

Especifica el rol de servidor definido por el usuario que se va a quitar del servidor.

Observaciones

Los roles de servidor definidos por el usuario que poseen los securables no pueden eliminarse del servidor. Para quitar un rol de servidor definido por el usuario que tiene elementos protegibles, primero debe transferir la propiedad de esos elementos protegibles o eliminarlos.

Los roles de servidor definidos por el usuario que tienen miembros no pueden eliminarse. Para quitar un rol de servidor definido por el usuario que tenga miembros, primero debe quitar los miembros del rol mediante ALTER SERVER ROLE.

Los roles fijos de servidor no pueden eliminarse.

Puede obtener información sobre la pertenencia a roles mediante una consulta de la vista de catálogo sys.server_role_members.

Permisos

Requiere CONTROL permiso para el rol del servidor o ALTER ANY SERVER ROLE permiso.

Ejemplos

A. Para quitar un rol de servidor

En el siguiente ejemplo se quita el rol de servidor purchasing.

DROP SERVER ROLE purchasing;
GO

B. Para ver la pertenencia al rol

Para ver la pertenencia a un rol, utilice la página Server Role (Members) en SQL Server Management Studio o ejecute la siguiente consulta:

SELECT SRM.role_principal_id,
       SP.name AS Role_Name,
       SRM.member_principal_id,
       SP2.name AS Member_Name
FROM sys.server_role_members AS SRM
     INNER JOIN sys.server_principals AS SP
         ON SRM.Role_principal_id = SP.principal_id
     INNER JOIN sys.server_principals AS SP2
         ON SRM.member_principal_id = SP2.principal_id
ORDER BY SP.name, SP2.name;

C. Para ver la pertenencia al rol

Para determinar si un rol de servidor es propietario de otro rol de servidor, ejecute la siguiente consulta:

SELECT SP1.name AS RoleOwner,
       SP2.name AS Server_Role
FROM sys.server_principals AS SP1
     INNER JOIN sys.server_principals AS SP2
         ON SP1.principal_id = SP2.owning_principal_id
ORDER BY SP1.name;