ALTER ROLE (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

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 modificare i ruoli aggiungendo o eliminando i membri in Azure Synapse Analytics o Parallel Data Warehouse, usare sp_addrolemember (Transact-SQL) e sp_droprolemember (Transact-SQL).

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

-- Syntax for SQL Server (starting with 2012) and Azure SQL Database  
  
ALTER ROLE  role_name  
{  
       ADD MEMBER database_principal  
    |  DROP MEMBER database_principal  
    |  WITH NAME = new_name  
}  
[;]  
-- Syntax for SQL Server 2008, Azure Synapse Analytics and Parallel Data Warehouse
  
-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Argomenti

role_name
SI APPLICA A: SQL Server (a partire dalla versione 2008), database 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

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à di sicurezza del server.

DROP MEMBER database_principal
SI APPLICA A: SQL Server (a partire dalla versione 2012), database 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à di sicurezza del server.

WITH NAME = new_name
SI APPLICA A: SQL Server (a partire dalla versione 2008), database 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 comporta la modifica del numero di ID, del proprietario o delle 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

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

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

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 e Azure Synapse Analytics

SI APPLICA A: SQL Server (database SQL di Azure e Azure Synapse), Database SQL

In questo esempio viene creato un account di accesso SQL nel database master, viene creato un utente del database correlato all'account di accesso al server e viene aggiunto l'utente del database come membro del ruolo speciale dbmanager . L'esempio consente all'utente di creare ed eliminare database in un server database SQL di Azure logico. Eseguire l'esempio nel database master del server database SQL di Azure server logico.

 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;

Vedere anche

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