DROP ROLE (Transact-SQL)
Quita una función de la base de datos.
Sintaxis
DROP ROLE role_name
Argumentos
- role_name
Especifica la función que se va a quitar de la base de datos.
Notas
Las funciones que tienen asegurables no se quitan de la base de datos. Para quitar una función de la base de datos que tiene asegurables, primero debe transferir la propiedad de esos asegurables o quitarlos de la base de datos. Las funciones tienen miembros que no se pueden quitar de la base de datos. Para quitar una función que tiene miembros, primero debe eliminar los miembros de la función.
No puede utilizar DROP ROLE para quitar una función fija de base de datos.
Para obtener más información acerca de la pertenencia de funciones vea la vista de catálogo sys.database_role_members.
Advertencia |
---|
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). |
Permisos
Requiere el permiso CONTROL en la función o el permiso ALTER ANY ROLE en la base de datos.
Ejemplos
En el ejemplo siguiente se quita la función de base de datos purchasing de AdventureWorks.
USE AdventureWorks;
DROP ROLE purchasing;
GO