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
[;]
Nota
Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) 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, 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 dbmanager
speciale . 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)