sp_droprole (Transact-SQL)
Rimuove un ruolo del database dal database corrente.
Importante |
---|
In SQL Server 2005, la stored procedure sp_droprole è stata sostituita dall'istruzione DROP ROLE. La stored procedure sp_addrole è inclusa solo per compatibilità con le versioni precedenti di SQL Server e potrebbe non essere più supportata a partire da una delle prossime versioni. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_droprole [ @rolename= ] 'role'
Argomenti
- [ @rolename = ] 'role'
Nome del ruolo del database da rimuovere dal database corrente. role è di tipo sysname e non prevede alcun valore predefinito. role deve essere già presente nel database corrente.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
La stored procedure sp_droprole può rimuovere solo ruoli del database.
Non è possibile rimuovere un ruolo del database a cui sono associati 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, utilizzare sp_droprolemember. Gli eventuali membri del ruolo rimanenti vengono visualizzati eseguendo la stored procedure sp_droprole.
I ruoli predefiniti e il ruolo public non possono essere rimossi.
Non è possibile rimuovere un ruolo proprietario di un'entità a sicurezza diretta. Prima di rimuovere un ruolo applicazione proprietario di entità a sicurezza diretta, è necessario innanzitutto trasferire la proprietà delle entità a sicurezza diretta oppure rimuoverle. Utilizzare ALTER AUTHORIZATION per modificare il proprietario degli oggetti che non devono essere rimossi.
La stored procedure sp_droprole non può essere eseguita all'interno di una transazione definita dall'utente.
Autorizzazioni
È richiesta l'autorizzazione CONTROL per il ruolo.
Esempi
Nell'esempio seguente viene rimosso il ruolo applicazione Sales.
EXEC sp_droprole 'Sales';
GO
Vedere anche
Riferimento
Stored procedure di sicurezza (Transact-SQL)