Partilhar via


DROP SERVER ROLE (Transact-SQL)

Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Remove uma função de servidor definida pelo usuário.

Funções de servidor definidas pelo usuário são novas no SQL Server 2012 (11.x).

Convenções de sintaxe de Transact-SQL

Sintaxe

DROP SERVER ROLE role_name  

Argumentos

role_name
Especifica a função de servidor definida pelo usuário a ser descartada do servidor.

Comentários

As funções definidas pelo usuário que possuem protegíveis não podem ser descartadas do servidor. Para descartar uma função de servidor definida pelo usuário que possui protegíveis, é necessário primeiro transferir a propriedade dos protegíveis ou descartá-los.

As funções de servidor definidas pelo usuário que possuem membros não podem ser descartadas. Para remover uma função de servidor definida pelo usuário que tem membros, você deve, primeiro, remover os membros da função usando ALTER SERVER ROLE.

A funções de servidor fixas não podem ser removidas.

Obtenha informações sobre a associação de função consultando a exibição do catálogo sys.server_role_members.

Permissões

Requer a permissão CONTROL na função de servidor ou a permissão ALTER ANY SERVER ROLE.

Exemplos

a. Para remover uma função de servidor

O exemplo a seguir descarta a função de servidor purchasing.

DROP SERVER ROLE purchasing;  
GO  

B. Para exibir a associação de função

Para exibir a associação de função, use a página Função de Servidor (Membros) em 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  
JOIN sys.server_principals AS SP  
    ON SRM.Role_principal_id = SP.principal_id  
JOIN sys.server_principals AS SP2   
    ON SRM.member_principal_id = SP2.principal_id  
ORDER BY  SP.name,  SP2.name  

C. Para exibir a associação de função

Para determinar se uma função de servidor tem outra função de servidor, execute a consulta seguinte:

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

Consulte Também

ALTER ROLE (Transact-SQL)
CREATE ROLE (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)