Partilhar via


PAPEL DE SERVIDOR DE ABANDONO (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)

Remove um papel de servidor definido pelo utilizador.

Os papéis de servidor definidos pelo utilizador foram introduzidos no SQL Server 2012 (11.x).

Transact-SQL convenções de sintaxe

Sintaxe

DROP SERVER ROLE role_name
[ ; ]

Arguments

role_name

Especifica o papel de servidor definido pelo utilizador a ser eliminado do servidor.

Observações

Papéis de servidor definidos pelo utilizador que possuem securáveis não podem ser eliminados do servidor. Para eliminar um papel de servidor definido pelo utilizador que detém os securables, deve primeiro transferir a propriedade desses securables ou eliminá-los.

Papéis de servidor definidos pelo utilizador que tenham membros não podem ser eliminados. Para eliminar um papel de servidor definido pelo utilizador que tenha membros, deve primeiro remover membros do papel usando ALTER SERVER ROLE.

Papéis fixos de servidor não podem ser removidos.

Pode consultar informações sobre a pertença a um cargo consultando a vista do catálogo sys.server_role_members .

Permissions

Requer CONTROL permissão para o papel do servidor ou ALTER ANY SERVER ROLE permissão.

Examples

A. Para eliminar um papel de servidor

O exemplo seguinte elimina o papel purchasingde servidor .

DROP SERVER ROLE purchasing;
GO

B. Para ver a pertença à função

Para visualizar a pertença à função, utilize a página Server Role (Members) no SQL Server Management Studio ou execute a seguinte 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 a pertença à função

Para determinar se um papel de servidor pertence a outro papel de servidor, execute a seguinte 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;