sp_droprole (Transact-SQL)
Quita un rol de base de datos de la base de datos actual.
Importante |
---|
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. |
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)