Compartir a través de


sp_droprole (Transact-SQL)

Quita un rol de base de datos de la base de datos actual.

Nota importanteImportante

En SQL Server 2005, sp_droprole se sustituye por la instrucción DROP ROLE. sp_addrole se incluye solo por razones de compatibilidad con versiones anteriores de SQL Server y puede que no se admita en una versión futura.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_droprole [ @rolename= ] 'role'

Argumentos

  • [ @rolename = ] 'role'
    Es el nombre del rol de base de datos que se va a quitar de la base de datos actual. role es de tipo sysname y no tiene valor predeterminado. role debe existir en la base de datos actual.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

Con sp_droprole solo se pueden quitar roles de base de datos.

No se puede quitar un rol de base de datos que tenga miembros. Todos los miembros de un rol de base de datos deben eliminarse previamente para poder quitar el rol de base de datos. Para quitar usuarios de un rol, utilice sp_droprolemember. Si quedan miembros en el rol, puede ver cuáles son con sp_droprole.

Los roles fijos y el rol public no se pueden quitar.

Tampoco se puede quitar un rol que sea propietario de algún elemento protegible. Antes de quitar un rol de aplicación que tiene elementos protegibles, primero debe transferir la propiedad de estos elementos o quitarlos. Use ALTER AUTHORIZATION para cambiar el propietario de los objetos que no se deban quitar.

sp_droprole no puede ejecutarse en una transacción definida por el usuario.

Permisos

Requiere el permiso CONTROL para el rol.

Ejemplos

En el siguiente ejemplo se quita el rol de aplicación Sales.

EXEC sp_droprole 'Sales';
GO

Vea también

Referencia

Procedimientos almacenados de seguridad (Transact-SQL)

sp_addrole (Transact-SQL)

DROP ROLE (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sp_dropapprole (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)