ALTER ROLE (Transact-SQL)

Aggiunge membri a un ruolo del database o modifica il nome di un ruolo del database definito dall'utente.

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

Sintassi

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

Argomenti

  • role_name
    Nome del ruolo da modificare.

  • ADD MEMBER database_principal
    Aggiunge l'entità del database specificata al ruolo del database. database_principal può essere un utente o un ruolo del database definito dall'utente. database_principal non può essere un ruolo predefinito del database o un'entità del server.

  • DROP MEMBER database_principal
    Rimuove l'entità del database specificata dal ruolo del database. database_principal può essere un utente o un ruolo del database definito dall'utente. database_principal non può essere un ruolo predefinito del database o un'entità del server.

  • WITH NAME =new_name
    Specifica il nuovo nome del ruolo definito dall'utente. Il nome non deve essere già esistente nel database. Non è possibile modificare il nome dei ruoli predefiniti del database.

Osservazioni

La modifica del nome di un ruolo del database non comporta la modifica del numero di ID, del proprietario o delle autorizzazioni del ruolo.

I ruoli del database sono visibili nelle viste del catalogo sys.database_role_members e sys.database_principals.

Nota di attenzioneAttenzione

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).

Autorizzazioni

È richiesta l'autorizzazione ALTER ANY ROLE per il database o l'autorizzazione ALTER per il ruolo o l'appartenenza a db_securityadmin. Per l'aggiunta di membri ai ruoli predefiniti del database è richiesta l'appartenenza al ruolo predefinito del database db_owner.

Esempi

A.Modifica del nome di un ruolo del database

Nell'esempio seguente viene modificato il nome del ruolo buyers in purchasing.

USE AdventureWorks2012;
ALTER ROLE buyers WITH NAME = purchasing;
GO

B.Aggiunta e rimozione di membri del ruolo

Nell'esempio seguente viene creato un ruolo denominato Sales, viene aggiunto e quindi rimosso un utente denominato Barry.

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

Vedere anche

Riferimento

CREATE ROLE (Transact-SQL)

DROP ROLE (Transact-SQL)

sp_addrolemember (Transact-SQL)

sys.database_role_members (Transact-SQL)

sys.database_principals (Transact-SQL)

Concetti

Entità (Motore di database)