Condividi tramite


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