DROP ROLE (Transact-SQL)
Rimuove un ruolo dal database.
Sintassi
DROP ROLE role_name
Argomenti
- role_name
Specifica il ruolo da rimuovere dal database.
Osservazioni
I ruoli proprietari di entità a sicurezza diretta non possono essere rimossi dal database. Per rimuovere un ruolo di database proprietario di entità a sicurezza diretta, è innanzitutto necessario trasferire la proprietà di tali entità oppure rimuovere le entità dal database. I ruoli che includono membri non possono essere rimossi dal database. Per rimuovere un ruolo che include membri, è innanzitutto necessario rimuovere i membri del ruolo.
Non è possibile utilizzare l'istruzione DROP ROLE per rimuovere un ruolo predefinito del database.
Le informazioni sull'appartenenza ai ruoli sono visibili nella vista del catalogo sys.database_role_members.
Attenzione |
---|
A partire da SQL Server 2005, il funzionamento degli schemi è stato modificato. È pertanto possibile che il codice in cui gli schemi vengono considerati equivalenti agli utenti del database non restituisca risultati corretti. Non utilizzare le viste del catalogo delle versioni precedenti, inclusa sysobjects, nei database in cui sia già stata utilizzata una delle istruzioni DDL seguenti: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. In tali database è invece necessario utilizzare le nuove viste del catalogo. Le nuove viste del catalogo prendono in considerazione la separazione tra entità e schemi introdotta in SQL Server 2005. Per ulteriori informazioni sulle viste del catalogo, vedere Viste del catalogo (Transact-SQL). |
Autorizzazioni
È richiesta l'autorizzazione ALTER ANY ROLE nel database o l'autorizzazione CONTOL nel ruolo o l'appartenenza a db_securityadmin.
Esempi
Nell'esempio seguente il ruolo del database purchasing viene rimosso da AdventureWorks2008R2.
USE AdventureWorks2008R2;
DROP ROLE purchasing;
GO