Condividi tramite


DROP ROLE (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)

Rimuove un ruolo dal database.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

-- Syntax for SQL Server  
  
DROP ROLE [ IF EXISTS ] role_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  

DROP ROLE role_name  

Argomenti

IF EXISTS
Si applica a: SQL Server ( SQL Server 2016 (13.x) fino alla versione corrente).

Rimuove in modo condizionale il ruolo solo se esiste già.

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, usare ALTER ROLE (Transact-SQL).

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 usare 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 altre informazioni sulle viste del catalogo, vedere Viste del catalogo (Transact-SQL).

Per rimuovere un ruolo del server, usare DROP SERVER ROLE (Transact-SQL).

Autorizzazioni

È necessaria l'autorizzazione ALTER ANY ROLE per il database, l'autorizzazione CONTROL per il ruolo o l'appartenenza a db_securityadmin.

Esempi

Nell'esempio seguente il ruolo del database purchasing viene rimosso dal database AdventureWorks2022.

DROP ROLE purchasing;  
GO  

Vedi anche

CREATE ROLE (Transact-SQL)
ALTER ROLE (Transact-SQL)
Entità di sicurezza (Motore di database)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Funzioni di sicurezza (Transact-SQL)