DROP 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 do banco de dados.
Convenções de sintaxe de Transact-SQL
Sintaxe
-- Syntax for SQL Server
DROP ROLE [ IF EXISTS ] role_name
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse
DROP ROLE role_name
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
IF EXISTS
Aplica-se a: SQL Server (SQL Server 2016 (13.x) até a versão atual).
Remove condicionalmente a função somente se ela já existe.
role_name
Especifica a função a ser descartada do banco de dados.
Comentários
As funções que possuem itens protegíveis não podem ser descartadas do banco de dados. Para descartar uma função de banco de dados que possui protegíveis, é necessário primeiro transferir a propriedade dos protegíveis ou descartá-los do banco de dados. As funções que possuem membros não podem ser descartadas do banco de dados. Para descartar uma função que possui membros, você deve primeiro remover os membros da função.
Para remover membros de uma função de banco de dados, use ALTER ROLE (Transact-SQL).
Você não pode usar DROP ROLE para descartar uma função de banco de dados fixa.
Informações sobre associação de função podem ser exibidas na exibição do catálogo sys.database_role_members.
Cuidado
A partir do SQL Server 2005, o comportamento de esquemas mudou. Como resultado, o código que pressupõe que esquemas sejam equivalentes a usuários de banco de dados pode não retornar mais resultados corretos. Exibições do catálogo antigas, incluindo sysobjects, não devem ser usadas em um banco de dados no qual uma das instruções DDL a seguir já tenha sido utilizada: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. Nesses bancos de dados você deve usar as exibições do catálogo novas. As exibições do catálogo novas levam em conta a separação de entidades e esquemas apresentada no SQL Server 2005. Para mais informações sobre exibições do catálogo, consulte Exibições do catálogo (Transact-SQL).
Para remover uma função de servidor, use DROP SERVER ROLE (Transact-SQL).
Permissões
Exige a permissão ALTER ANY ROLE no banco de dados, ou a permissão CONTROL na função ou a associação em db_securityadmin.
Exemplos
O exemplo a seguir remove a função de banco de dados purchasing
do banco de dados AdventureWorks2022
.
DROP ROLE purchasing;
GO
Consulte Também
CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
Entidades (Mecanismo de Banco de Dados)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Funções de segurança (Transact-SQL)