Delen via


ALTER ROLE (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric Preview

Leden toevoegen aan of verwijderen uit een databaserol of de naam van een door de gebruiker gedefinieerde databaserol wijzigen.

Note

Als u leden wilt toevoegen aan of verwijderen uit rollen in Azure Synapse Analytics and Analytics Platform System (PDW), gebruikt u sp_addrolemember (Transact-SQL) en sp_droprolemember (Transact-SQL).

Transact-SQL syntaxis-conventies

Syntax

Syntaxis voor SQL Server (te beginnen met 2012), Azure SQL Managed Instance, Azure SQL Database en Microsoft Fabric.

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

Syntaxis voor SQL Server vóór 2012.

-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Arguments

role_name
Van toepassing op: SQL Server (vanaf 2008), Azure SQL Database, Azure SQL Managed Instance

Hiermee geeft u de databaserol die moet worden gewijzigd.

LID-database_principal TOEVOEGEN
Van toepassing op: SQL Server (vanaf 2012), Azure SQL Database, Azure SQL Managed Instance

Hiermee geeft u de database-principal toe aan het lidmaatschap van een databaserol.

  • database_principal is een databasegebruiker of een door de gebruiker gedefinieerde databaserol.

  • database_principal kan geen vaste databasefunctie of server-principal zijn.

DROP MEMBER database_principal
Van toepassing op: SQL Server (vanaf 2012), Azure SQL Database, Azure SQL Managed Instance

Hiermee geeft u een database-principal uit het lidmaatschap van een databaserol te verwijderen.

  • database_principal is een databasegebruiker of een door de gebruiker gedefinieerde databaserol.

  • database_principal kan geen vaste databasefunctie of server-principal zijn.

WITH NAME = new_name
Van toepassing op: SQL Server (vanaf 2008), Azure SQL Database, Azure SQL Managed Instance

Hiermee geeft u de naam van een door de gebruiker gedefinieerde databaserol te wijzigen. De nieuwe naam mag niet al bestaan in de database.

Als u de naam van een databaserol wijzigt, wordt het id-nummer, de eigenaar of de machtigingen van de rol niet gewijzigd.

Permissions

Als u deze opdracht wilt uitvoeren, hebt u een of meer van deze machtigingen of lidmaatschappen nodig:

  • ALTER-machtiging voor de rol
  • ELKE ROLmachtiging voor de database WIJZIGEN
  • Lidmaatschap van de db_securityadmin vaste databaserol

Als u bovendien het lidmaatschap van een vaste databaserol wilt wijzigen, hebt u het volgende nodig:

  • Lidmaatschap van de db_owner vaste databaserol

Beperkingen en beperkingen

U kunt de naam van een vaste databaserol niet wijzigen.

Metadata

Deze systeemweergaven bevatten informatie over databaserollen en database-principals.

Examples

A. De naam van een databaserol wijzigen

Van toepassing op: SQL Server (vanaf 2008), Azure SQL Database, Azure SQL Managed Instance

In het volgende voorbeeld wordt de naam van de rol buyers gewijzigd in purchasing. Dit voorbeeld kan worden uitgevoerd in de AdventureWorks-voorbeelddatabase .

ALTER ROLE buyers WITH NAME = purchasing;  

B. Rolleden toevoegen of verwijderen

Van toepassing op: SQL Server (vanaf 2012), Azure SQL Database, Azure SQL Managed Instance

In dit voorbeeld wordt een databaserol gemaakt met de naam Sales. Het voegt een databasegebruiker met de naam Barry toe aan het lidmaatschap en laat vervolgens zien hoe u het lid Barry verwijdert. Dit voorbeeld kan worden uitgevoerd in de AdventureWorks-voorbeelddatabase .

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

C. Een rollid toevoegen aan speciale rollen voor Azure SQL Database

van toepassing op: Azure SQL Database

In dit voorbeeld maakt u een SQL-aanmelding in de virtuele hoofddatabase, maakt u een databasegebruiker die is gerelateerd aan die serveraanmelding en voegt u de databasegebruiker toe als lid van de speciale rol dbmanager. In het voorbeeld kunnen de gebruikersmachtigingen databases maken en verwijderen op een logische Server van Azure SQL Database. Voer het voorbeeld uit in de virtuele hoofddatabase van de logische Server van Azure SQL Database.

 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;

See Also

ROL AANMAKEN (Transact-SQL)
Principals (Databasemotor)
ROL LATEN VALLEN (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)