sp_droprole (Transact-SQL)

Se aplica a:SQL Server

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

Importante

En SQL Server 2005 (9.x), sp_droprole se reemplazó por la instrucción DROP ROLE. sp_droprole solo se incluye para la compatibilidad con versiones anteriores de SQL Server y es posible que no se admita en una versión futura.

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_droprole [ @rolename = ] N'rolename'
[ ; ]

Argumentos

[ @rolename = ] N'rolename'

Nombre del rol de base de datos que se va a quitar de la base de datos actual. @rolename es sysname, sin ningún valor predeterminado. @rolename ya debe existir en la base de datos actual.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

Solo se pueden quitar los roles de base de datos mediante sp_droprole.

No se puede quitar un rol de base de datos con miembros existentes. 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, use sp_droprolemember. Si algún usuario sigue siendo miembro del rol, sp_droprole muestra esos miembros.

No se pueden quitar los roles fijos y el rol público .

No se puede quitar un rol si posee elementos protegibles. Para poder quitar un rol de aplicación que posea elementos protegibles, primero debe transferir la propiedad de esos elementos o quitarlos. Use ALTER AUTHORIZATION para cambiar el propietario de los objetos que no se deben quitar.

sp_droprole no se puede ejecutar dentro de una transacción definida por el usuario.

Permisos

Requiere CONTROL permiso para el rol.

Ejemplos

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

EXEC sp_droprole 'Sales';
GO