DROP ROLE (Transact-SQL)DROP ROLE (Transact-SQL)

ESTE TÓPICO APLICA-SE A:simSQL Server (a partir de 2008)nãoBanco de Dados SQL do AzuresimSQL Data Warehouse do Azure simParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Remove uma função do banco de dados.Removes a role from the database.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

-- Syntax for SQL Server  

DROP ROLE [ IF EXISTS ] role_name  
-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse  

DROP ROLE role_name  

ArgumentosArguments

IF EXISTSIF EXISTS
Aplica-se a: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) até a versão atual).Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version).

Remove condicionalmente a função somente se ela já existe.Conditionally drops the role only if it already exists.

role_namerole_name
Especifica a função a ser descartada do banco de dados.Specifies the role to be dropped from the database.

RemarksRemarks

As funções que possuem itens protegíveis não podem ser descartadas do banco de dados.Roles that own securables cannot be dropped from the database. 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.To drop a database role that owns securables, you must first transfer ownership of those securables or drop them from the database. As funções que possuem membros não podem ser descartadas do banco de dados.Roles that have members cannot be dropped from the database. Para descartar uma função que possui membros, você deve primeiro remover os membros da função.To drop a role that has members, you must first remove members of the role.

Para remover membros de uma função de banco de dados, use ALTER ROLE (Transact-SQL).To remove members from a database role, use ALTER ROLE (Transact-SQL).

Você não pode usar DROP ROLE para descartar uma função de banco de dados fixa.You cannot use DROP ROLE to drop a fixed database role.

Informações sobre associação de função podem ser exibidas na exibição do catálogo sys.database_role_members.Information about role membership can be viewed in the sys.database_role_members catalog view.

Cuidado

A partir do SQL Server 2005, o comportamento de esquemas mudou.Beginning with SQL Server 2005, the behavior of schemas changed. 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.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. 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.Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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.In such databases you must instead use the new catalog views. As exibições do catálogo novas levam em conta a separação de entidades e esquemas apresentada no SQL Server 2005.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. Para mais informações sobre exibições do catálogo, consulte Exibições do catálogo (Transact-SQL).For more information about catalog views, see Catalog Views (Transact-SQL).

Para remover uma função de servidor, use DROP SERVER ROLE (Transact-SQL).To remove a server role, use DROP SERVER ROLE (Transact-SQL).

PermissõesPermissions

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.Requires ALTER ANY ROLE permission on the database, or CONTROL permission on the role, or membership in the db_securityadmin.

ExemplosExamples

O exemplo a seguir remove a função de banco de dados purchasing do banco de dados AdventureWorks2012.The following example drops the database role purchasing from the AdventureWorks2012 database.

DROP ROLE purchasing;  
GO  

Consulte TambémSee Also

CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL) ALTER ROLE (Transact-SQL)
Entidades (Mecanismo de Banco de Dados) Principals (Database Engine)
EVENTDATA (Transact-SQL) EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
Funções de segurança (Transact-SQL)Security Functions (Transact-SQL)