ALTER SERVER ROLE (Transact-SQL)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAnalytics Platform System (PDW)

Modifica l'appartenenza di un ruolo del server o il nome di un ruolo del server definito dall'utente. Impossibile rinominare i ruoli predefiniti del server.

Convenzioni di sintassi Transact-SQL

Sintassi

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance
  
ALTER SERVER ROLE server_role_name   
{  
    [ ADD MEMBER server_principal ]  
  | [ DROP MEMBER server_principal ]  
  | [ WITH NAME = new_server_role_name ]  
} [ ; ]  
-- Syntax for Parallel Data Warehouse  
  
ALTER SERVER ROLE  server_role_name  ADD MEMBER login;  
  
ALTER SERVER ROLE  server_role_name  DROP MEMBER login;  

Argomenti

server_role_name

Nome del ruolo del server da modificare.

ADD MEMBER server_principal

Aggiunge l'entità server specificata al ruolo del server. server_principal può essere un account di accesso o un ruolo del server definito dall'utente. server_principal non può essere un ruolo predefinito del server, un ruolo del database o sa.

DROP MEMBER server_principal

Rimuove l'entità server specificata dal ruolo del server. server_principal può essere un account di accesso o un ruolo del server definito dall'utente. server_principal non può essere un ruolo predefinito del server, un ruolo del database o sa.

WITH NAME =new_server_role_name

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

Commenti

La modifica del nome di un ruolo del server definito dall'utente non comporta la modifica del numero di ID, del proprietario o delle autorizzazioni del ruolo.

Per la modifica dell'appartenenza al ruolo, ALTER SERVER ROLE sostituisce sp_addsrvrolemember e sp_dropsrvrolemember. Queste stored procedure sono deprecate.

È possibile visualizzare i ruoli del server eseguendo una query sulle viste del catalogo sys.server_role_members e sys.server_principals.

Per modificare il proprietario di un ruolo del server definito dall'utente, usare ALTER AUTHORIZATION (Transact-SQL).

In Azure SQL database ALTER SERVER ROLE è necessario eseguire nel master database.

Autorizzazioni

Per modificare il nome di un ruolo del server definito dall'utente è richiesta l'autorizzazione ALTER ANY SERVER ROLE per il server.

Ruoli predefiniti del server

Per aggiungere un membro a un ruolo predefinito del server, è necessario essere membri di tale ruolo o del ruolo predefinito del server sysadmin.

Nota

Le autorizzazioni CONTROL SERVER e ALTER ANY SERVER ROLE non sono sufficienti per eseguire ALTER SERVER ROLE per un ruolo predefinito del server e l'autorizzazione ALTER non può essere concessa per un ruolo predefinito del server.

Ruoli del server definiti dall'utente

Per aggiungere un membro a un ruolo del server definito dall'utente, è necessario essere membri del ruolo predefinito del server sysadmin oppure avere l'autorizzazione CONTROL SERVER o ALTER ANY SERVER ROLE. In alternativa è necessario avere l'autorizzazione ALTER per tale ruolo.

Nota

A differenza dei ruoli predefiniti del server, i membri di un ruolo del server definito dall'utente non dispongono implicitamente dell'autorizzazione per aggiungere membri a quello stesso ruolo.

Esempi

R. Modificare il nome di un ruolo server

Nell'esempio seguente viene creato un ruolo del server denominato Product, viene quindi modificato il nome del ruolo del server in Production.

CREATE SERVER ROLE Product ;  
ALTER SERVER ROLE Product WITH NAME = Production ;  
GO  

B. Aggiungere un account di dominio a un ruolo server

Nell'esempio seguente viene aggiunto un account di dominio denominato adventure-works\roberto0 al ruolo del server definito dall'utente denominato Production.

ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;  

C. Aggiungere un account di accesso SQL Server a un ruolo server

Nell'esempio seguente viene aggiunto un account di accesso di SQL Server denominato Ted al ruolo predefinito del server diskadmin.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D. Rimuovere un account di dominio da un ruolo server

Nell'esempio seguente viene rimosso un account di dominio denominato adventure-works\roberto0 dal ruolo del server definito dall'utente denominato Production.

ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;  

E. Rimuovere un account di accesso SQL Server da un ruolo server

Nell'esempio seguente l'account di accesso di SQL Server Ted viene rimosso dal ruolo predefinito del server diskadmin.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F. Concedere a un account di accesso l'autorizzazione per aggiungere account di accesso a un ruolo server definito dall'utente

Nell'esempio seguente viene consentito a Ted di aggiungere altri account di accesso al ruolo del server definito dall'utente denominato Production.

GRANT ALTER ON SERVER ROLE::Production TO Ted ;  
GO  

G. Visualizzare l'appartenenza al ruolo

Per visualizzare l'appartenenza ai ruoli, usare la pagina Ruolo server (Membri) in SQL Server Management Studio o eseguire la query seguente:

SELECT SRM.role_principal_id, SP.name AS Role_Name,   
SRM.member_principal_id, SP2.name  AS Member_Name  
FROM sys.server_role_members AS SRM  
JOIN sys.server_principals AS SP  
    ON SRM.Role_principal_id = SP.principal_id  
JOIN sys.server_principals AS SP2   
    ON SRM.member_principal_id = SP2.principal_id  
ORDER BY  SP.name,  SP2.name  

Esempi: Piattaforma di strumenti analitici (PDW)

H. Aggiungere un membro a un ruolo server

Nell'esempio seguente l'account di accesso Anna viene aggiunto al ruolo del server LargeRC.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I. Rimuovere un account di accesso da una classe di risorse

L'esempio seguente rimuove l'appartenenza di Anna al ruolo del server LargeRC.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Passaggi successivi