ALTER SERVER ROLE (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAnalytics Platform System (PDW)

Hiermee wijzigt u het lidmaatschap van een serverfunctie of wijzigt u de naam van een door de gebruiker gedefinieerde serverfunctie. Vaste serverrollen kunnen niet worden hernoemd.

Transact-SQL syntaxis-conventies

Syntax

-- 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;  

Arguments

server_role_name

Is de naam van de serverrol die veranderd moet worden?

ADD LID server_principal

Voegt de gespecificeerde server principal toe aan de serverrol. server_principal kan een inlogfunctie zijn of een door de gebruiker gedefinieerde serverrol. server_principal kan geen vaste serverrol, databaserol of SA zijn.

DROP LID server_principal

Verwijdert de opgegeven server principal uit de serverrol. server_principal kan een inlogfunctie zijn of een door de gebruiker gedefinieerde serverrol. server_principal kan geen vaste serverrol, databaserol of SA zijn.

MET NAAM =new_server_role_name

Specificeert de nieuwe naam van de door de gebruiker gedefinieerde serverrol. Deze naam kan niet al in de server bestaan.

Remarks

Het wijzigen van de naam van een door de gebruiker gedefinieerde serverrol verandert geen ID-nummer, eigenaar of rechten van de rol.

Voor het veranderen van rollidmaatschap vervangt ALTER SERVER ROLE sp_addsrvrolemember en sp_dropsrvrolemember. Deze opgeslagen procedures zijn verouderd.

Je kunt serverrollen bekijken door de en catalogusweergaven sys.server_role_memberssys.server_principals te bevragen.

Om de eigenaar van een door de gebruiker gedefinieerde serverrol te wijzigen, gebruik ALTER AUTHORIZATION (Transact-SQL).

In Azure SQL Database moet het ALTER SERVER ROLE in de master database worden uitgevoerd.

Permissions

Vereist ALTER ANY SERVER ROLE toestemming op de server om de naam van een door de gebruiker gedefinieerde serverrol te wijzigen.

vaste serverrollen

Om een lid toe te voegen aan een vaste serverrol, moet je lid zijn van die vaste serverrol, of lid zijn van de sysadmin vaste serverrol.

Opmerking

De CONTROL SERVER en-rechten ALTER ANY SERVER ROLE zijn niet voldoende om uit te voeren ALTER SERVER ROLE voor een vaste serverrol, en ALTER toestemming kan niet worden verleend op een vaste serverrol.

Door de gebruiker gedefinieerde serverrollen

Om een lid toe te voegen aan een door de gebruiker gedefinieerde serverrol, moet je lid zijn van de sysadmin vaste serverrol of een of ALTER ANY SERVER ROLE toestemming hebbenCONTROL SERVER. Of je moet toestemming hebben ALTER voor die rol.

Opmerking

In tegenstelling tot vaste serverrollen hebben leden van een door de gebruiker gedefinieerde serverrol niet per definitie toestemming om leden aan diezelfde rol toe te voegen.

Examples

A. Verander de naam van een serverrol

Het volgende voorbeeld maakt een serverrol aan met de naam Product, en verandert vervolgens de naam van de serverrol in Production.

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

B. Voeg een domeinaccount toe aan een serverrol

Het volgende voorbeeld voegt een domeinaccount toe met de naam adventure-works\roberto0 van de gebruiker gedefinieerde serverrol genaamd Production.

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

C. Voeg een SQL Server-login toe aan een serverrol

Het volgende voorbeeld voegt een SQL Server-login toe die is genoemd Ted bij de diskadmin vaste serverrol.

ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;  
GO  

D. Verwijder een domeinaccount uit een serverrol

Het volgende voorbeeld verwijdert een domeinaccount met de naam uit adventure-works\roberto0 de door de gebruiker gedefinieerde serverrol genaamd Production.

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

E. Verwijder een SQL Server-login uit een serverrol

Het volgende voorbeeld verwijdert de SQL Server-login Ted uit de diskadmin vaste serverrol.

ALTER SERVER ROLE Production DROP MEMBER Ted ;  
GO  

F. Verleen een login de toestemming om inloggegevens toe te voegen aan een door de gebruiker gedefinieerde serverrol

Het volgende voorbeeld maakt het mogelijk Ted om andere inloggegevens toe te voegen aan de door de gebruiker gedefinieerde serverrol genaamd Production.

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

G. Bekijk rollidmaatschap

Om rollidmaatschap te bekijken, gebruik de pagina Server Role (Members) in SQL Server Management Studio of voer de volgende query uit:

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  

Voorbeelden: Analytics Platform System (PDW)

H. Voeg een lid toe aan een serverrol

Het volgende voorbeeld voegt de login Anna toe aan de LargeRC serverrol.

ALTER SERVER ROLE LargeRC ADD MEMBER Anna;  

I. Verwijder een login uit een resourceklasse

Het volgende voorbeeld laat Anna's lidmaatschap in de LargeRC serverrol vallen.

ALTER SERVER ROLE LargeRC DROP MEMBER Anna;  

Volgende stappen