DROP ROLE (Transact-SQL)
Se aplica a: SQL Server Azure SQL Instancia administrada base de datos SQL del Sistema de plataforma de Análisis de Azure Synapse Analytics (PDW) en Microsoft Fabric
Quita un rol de la base de datos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
Sintaxis para SQL Server, Azure SQL Database, Azure SQL Instancia administrada y Fabric SQL Database
DROP ROLE [ IF EXISTS ] role_name
Sintaxis para Azure Synapse Analytics y Almacenamiento de datos paralelos
DROP ROLE role_name
Argumentos
IF EXISTS
Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).
Quita el rol condicionalmente solo si ya existe.
role_name
Especifica el rol que se va a quitar de la base de datos.
Observaciones
Los roles que tienen elementos protegibles no se quitan de la base de datos. 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. Los roles tienen miembros que no se pueden quitar de la base de datos. Para quitar un rol que tiene miembros, primero debe eliminar los miembros del rol.
Para quitar miembros de un rol de base de datos, use ALTER ROLE (Transact-SQL).
No puede utilizar DROP ROLE para quitar un rol fijo de base de datos.
Para obtener más información acerca de la pertenencia a roles vea la vista de catálogo sys.database_role_members.
Precaución
El comportamiento de los esquemas cambió en SQL Server 2005. 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. Las antiguas vistas de catálogo, incluida sysobjects, no se deben usar en una base de datos en la que se haya utilizado alguna vez cualquiera de las siguientes instrucciones DDL: 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. 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. Para obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL).
Para quitar un rol de servidor, use DROP SERVER ROLE (Transact-SQL).
Permisos
Se necesita el permiso ALTER ANY ROLE en la base de datos, el permiso CONTROL en el rol o ser miembro de db_securityadmin.
Ejemplos
En este ejemplo se quita el rol de base de datos purchasing
de la base de datos AdventureWorks2022
.
DROP ROLE purchasing;
GO
Vea también
CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
Entidades de seguridad (motor de base de datos)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Funciones de seguridad (Transact-SQL)