ALTER ROLE (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric

Aggiunge o rimuove i membri a o da un ruolo del database, oppure modifica il nome di un ruolo del database definito dall'utente.

Nota

Per aggiungere o eliminare membri dai ruoli in Azure Synapse Analytics e nel sistema della piattaforma di analisi (PDW) usare sp_addrolemember (Transact-SQL) e sp_droprolemember (Transact-SQL).

Convenzioni relative alla sintassi Transact-SQL

Sintassi

Sintassi per SQL Server (a partire dalla versione 2012), Istanza gestita di SQL di Azure, database SQL di Azure e Microsoft Fabric.

ALTER ROLE  role_name  
{  
       ADD MEMBER database_principal  
    |  DROP MEMBER database_principal  
    |  WITH NAME = new_name  
}  
[;]  

Sintassi per SQL Server prima del 2012.

-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Argomenti

role_name
Si applica a: SQL Server (a partire dalla versione 2008), database SQL di Azure, Istanza gestita di SQL di Azure

Specifica il ruolo del database da modificare.

ADD MEMBER database_principal
Si applica a: SQL Server (a partire dalla versione 2012), database SQL di Azure, Istanza gestita di SQL di Azure

Specifica di aggiungere l'entità di sicurezza del database all'appartenenza di un ruolo del database.

  • database_principal è un utente o un ruolo del database definito dall'utente.

  • database_principal non può essere un ruolo predefinito del database o un'entità server.

DROP MEMBER database_principal
Si applica a: SQL Server (a partire dalla versione 2012), database SQL di Azure, Istanza gestita di SQL di Azure

Specifica di rimuovere un'entità di sicurezza del database dall'appartenenza di un ruolo del database.

  • database_principal è un utente o un ruolo del database definito dall'utente.

  • database_principal non può essere un ruolo predefinito del database o un'entità server.

WITH NAME = new_name
Si applica a: SQL Server (a partire dalla versione 2008), database SQL di Azure, Istanza gestita di SQL di Azure

Specifica di modificare il nome di un ruolo del server definito dall'utente. Il nuovo nome non deve essere già esistente nel database.

La modifica del nome di un ruolo del database non modifica il numero ID, il proprietario o le autorizzazioni del ruolo.

Autorizzazioni

Per eseguire questo comando sono necessarie una più delle autorizzazioni o appartenenze seguenti:

  • Autorizzazione ALTER per il ruolo
  • È necessaria l'autorizzazione ALTER ANY USER per il database
  • Appartenenza al ruolo predefinito del database db_securityadmin

Per modificare l'appartenenza a un ruolo predefinito del database è anche necessaria l'appartenenza seguente:

  • Appartenenza al ruolo predefinito del database db_owner

Limitazioni e restrizioni

Non è possibile modificare il nome di un ruolo predefinito del database.

Metadati UFX

Queste viste di sistema contengono informazioni sui ruoli del database e sulle entità di sicurezza del database.

Esempi

R. Modificare il nome di un ruolo del database

Si applica a: SQL Server (a partire dalla versione 2008), database SQL di Azure, Istanza gestita di SQL di Azure

Nell'esempio seguente viene modificato il nome del ruolo buyers in purchasing. Questo esempio può essere eseguito nel database di esempio AdventureWorks.

ALTER ROLE buyers WITH NAME = purchasing;  

B. Aggiungere o rimuovere i membri del ruolo

Si applica a: SQL Server (a partire dalla versione 2012), database SQL di Azure, Istanza gestita di SQL di Azure

In questo esempio viene creato un nuovo ruolo del database denominato Sales. Viene aggiunto un utente del database denominato Barry all'appartenenza e viene illustrato come rimuovere il membro Barry. Questo esempio può essere eseguito nel database di esempio AdventureWorks.

CREATE ROLE Sales;  
ALTER ROLE Sales ADD MEMBER Barry;  
ALTER ROLE Sales DROP MEMBER Barry;  

C. Aggiungere un membro del ruolo a ruoli speciali per database SQL di Azure

Si applica a: Database SQL di Azure

In questo esempio viene creato un account di accesso SQL nel database master virtuale, viene creato un utente del database correlato all'account di accesso al server e viene aggiunto l'utente del database come membro del ruolo dbmanagerspeciale . Nell'esempio vengono consentite le autorizzazioni utente per creare ed eliminare database in un server logico del database di Azure SQL. Eseguire l'esempio nel database master virtuale del server logico database SQL di Azure.

 CREATE LOGIN sqllogin_nlastname WITH password='aah3%#om1os';
    
 CREATE USER sqllogin_nlastname FOR LOGIN sqllogin_nlastname 
 WITH DEFAULT_SCHEMA = master;
    
 ALTER ROLE [dbmanager] add member sqllogin_nlastname;

Vedi anche

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