DROP ROLE (Transact-SQL)
Rimuove un ruolo dal database.
Convenzioni della sintassi Transact-SQL
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.
Per rimuovere membri da un ruolo del database, utilizzare ALTER ROLE (Transact-SQL).
Non è possibile utilizzare l'istruzione DROP ROLE per rimuovere un ruolo predefinito del database.
Le informazioni sull'appartenenza a 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). |
Per rimuovere un ruolo del server, utilizzare DROP SERVER ROLE (Transact-SQL).
Autorizzazioni
È richiesta l'autorizzazione ALTER ANY ROLE per il database o l'autorizzazione CONTOL per il ruolo o l'appartenenza a db_securityadmin.
Esempi
Nell'esempio seguente il ruolo del database purchasing viene rimosso da AdventureWorks2012.
USE AdventureWorks2012;
DROP ROLE purchasing;
GO
Vedere anche
Riferimento
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Funzioni di sicurezza (Transact-SQL)