sp_droprole (Transact-SQL)
Si applica a: SQL Server
Rimuove un ruolo del database dal database corrente.
Importante
In SQL Server 2005 (9.x) sp_droprole
è stata sostituita dall'istruzione DROP ROLE. sp_droprole
è incluso solo per la compatibilità con le versioni precedenti di SQL Server e potrebbe non essere supportato in una versione futura.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sp_droprole [ @rolename = ] N'rolename'
[ ; ]
Argomenti
[ @rolename = ] N'rolename'
Nome del ruolo del database da rimuovere dal database corrente. @rolename è sysname, senza impostazione predefinita. @rolename deve esistere già nel database corrente.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
È possibile rimuovere solo i ruoli del database tramite sp_droprole
.
Non è possibile rimuovere un ruolo del database con membri esistenti. È necessario rimuovere tutti i membri di un ruolo del database prima di poter rimuovere il ruolo del database stesso. Per rimuovere gli utenti da un ruolo, usare sp_droprolemember
. Se gli utenti sono ancora membri del ruolo, sp_droprole
visualizza tali membri.
I ruoli predefiniti e il ruolo pubblico non possono essere rimossi.
Un ruolo non può essere rimosso se è proprietario di un'entità a protezione diretta. Prima di rimuovere un ruolo applicazione proprietario di entità a protezione diretta, è necessario innanzitutto trasferire la proprietà delle entità a protezione diretta oppure rimuoverle. Utilizzare ALTER AUTHORIZATION
per modificare il proprietario degli oggetti che non devono essere rimossi.
sp_droprole
non può essere eseguito all'interno di una transazione definita dall'utente.
Autorizzazioni
È richiesta CONTROL
l'autorizzazione per il ruolo.
Esempi
Nell'esempio seguente viene rimosso il ruolo applicazione Sales
.
EXEC sp_droprole 'Sales';
GO