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

SE APLICA A: síSQL Server noAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Quita un rol de la base de datos.Removes a role from the database.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

-- 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
Se aplica a: SQL ServerSQL Server (desde SQL Server 2016 (13.x)SQL Server 2016 (13.x) hasta la versión actual).Applies to: SQL ServerSQL Server ( SQL Server 2016 (13.x)SQL Server 2016 (13.x) through current version).

Quita el rol condicionalmente solo si ya existe.Conditionally drops the role only if it already exists.

role_namerole_name
Especifica el rol que se va a quitar de la base de datos.Specifies the role to be dropped from the database.

NotasRemarks

Los roles que tienen elementos protegibles no se quitan de la base de datos.Roles that own securables cannot be dropped from the database. Para quitar un rol de base de datos que tiene elementos protegibles, primero debe transferir la propiedad de esos elementos protegibles o quitarlos de la base de datos.To drop a database role that owns securables, you must first transfer ownership of those securables or drop them from the database. Los roles tienen miembros que no se pueden quitar de la base de datos.Roles that have members cannot be dropped from the database. Para quitar un rol que tiene miembros, primero debe eliminar los miembros del rol.To drop a role that has members, you must first remove members of the role.

Para quitar miembros de un rol de base de datos, use ALTER ROLE (Transact-SQL).To remove members from a database role, use ALTER ROLE (Transact-SQL).

No puede utilizar DROP ROLE para quitar un rol fijo de base de datos.You cannot use DROP ROLE to drop a fixed database role.

Para obtener más información acerca de la pertenencia a roles vea la vista de catálogo sys.database_role_members.Information about role membership can be viewed in the sys.database_role_members catalog view.

Precaución

El comportamiento de los esquemas cambió en SQL Server 2005.Beginning with SQL Server 2005, the behavior of schemas changed. En consecuencia, el código que supone que los esquemas son equivalentes a los usuarios de base de datos puede dejar de devolver resultados correctos.As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. No se deben usar vistas de catálogo antiguas, como sysobjects, en una base de datos en la que nunca se ha utilizado ninguna de las instrucciones DDL siguientes: 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. En esas bases de datos, debe usar las nuevas vistas de catálogo.In such databases you must instead use the new catalog views. En las nuevas vistas de catálogo se tiene en cuenta la separación de entidades de seguridad y esquemas que se estableció en SQL Server 2005.The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. Para obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL).For more information about catalog views, see Catalog Views (Transact-SQL).

Para quitar un rol de servidor, use DROP SERVER ROLE (Transact-SQL).To remove a server role, use DROP SERVER ROLE (Transact-SQL).

PermisosPermissions

Se necesita el permiso ALTER ANY ROLE en la base de datos, el permiso CONTROL en el rol o ser miembro de db_securityadmin.Requires ALTER ANY ROLE permission on the database, or CONTROL permission on the role, or membership in the db_securityadmin.

EjemplosExamples

En este ejemplo se quita el rol de base de datos purchasing de la base de datos AdventureWorks2012.The following example drops the database role purchasing from the AdventureWorks2012 database.

DROP ROLE purchasing;  
GO  

Consulte tambiénSee Also

CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL) ALTER ROLE (Transact-SQL)
Entidades de seguridad (motor de base de datos) 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)
Funciones de seguridad (Transact-SQL)Security Functions (Transact-SQL)