Sdílet prostřednictvím


ALTEROVÁ ROLE (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Přidá nebo odebere členy do nebo z databázové role nebo změní název role databáze definované uživatelem.

Note

Pokud chcete přidat nebo odstranit členy z rolí ve službě Azure Synapse Analytics a PDW (Platform System), použijte sp_addrolemember (Transact-SQL) a sp_droprolemember (Transact-SQL).

Transact-SQL konvence syntaxe

Syntax

Syntaxe SQL Serveru (počínaje verzí 2012), Azure SQL Managed Instance, Azure SQL Database a Microsoft Fabric

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

Syntaxe PRO SQL Server před 2012.

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

Arguments

role_name
Platí pro: SQL Server (počínaje verzí 2008), Azure SQL Database, Azure SQL Managed Instance

Určuje roli databáze, která se má změnit.

PŘIDAT DATABASE_PRINCIPAL ČLENA
Platí pro: SQL Server (od roku 2012), Azure SQL Database, Azure SQL Managed Instance

Určuje přidání instančního objektu databáze do členství v roli databáze.

  • database_principal je uživatel databáze nebo role databáze definovaná uživatelem.

  • database_principal nemůže být pevná role databáze ani instanční objekt.

ODHOĎTE database_principal
Platí pro: SQL Server (od roku 2012), Azure SQL Database, Azure SQL Managed Instance

Určuje odebrání objektu zabezpečení databáze z členství v roli databáze.

  • database_principal je uživatel databáze nebo role databáze definovaná uživatelem.

  • database_principal nemůže být pevná role databáze ani instanční objekt.

S NÁZVEM = new_name
Platí pro: SQL Server (počínaje verzí 2008), Azure SQL Database, Azure SQL Managed Instance

Určuje změnu názvu uživatelem definované databázové role. Nový název nesmí v databázi již existovat.

Změna názvu databázové role nezmění číslo ID, vlastníka ani oprávnění role.

Permissions

Ke spuštění tohoto příkazu potřebujete jedno nebo více těchto oprávnění nebo členství:

  • Alter permission on the role
  • OPRÁVNĚNÍ ZMĚNIT JAKOUKOLI ROLI v databázi
  • Členství v db_securityadmin pevné databázové roli

Pokud chcete navíc změnit členství v pevné databázové roli, potřebujete:

  • Členství v db_owner pevné databázové roli

Limity a omezení

Nemůžete změnit název pevné databázové role.

Metadata

Tato systémová zobrazení obsahují informace o databázových rolích a instančních objektech databáze.

Examples

A. Změna názvu databázové role

Platí pro: SQL Server (počínaje verzí 2008), Azure SQL Database, Azure SQL Managed Instance

Následující příklad změní název role buyers na purchasing. Tento příklad lze spustit v ukázkové databázi AdventureWorks .

ALTER ROLE buyers WITH NAME = purchasing;  

B. Přidání nebo odebrání členů role

Platí pro: SQL Server (od roku 2012), Azure SQL Database, Azure SQL Managed Instance

Tento příklad vytvoří roli databáze s názvem Sales. Přidá uživatele databáze s názvem Barry do členství a pak ukazuje, jak odebrat člena Barryho. Tento příklad lze spustit v ukázkové databázi AdventureWorks .

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

C. Přidání člena role do speciálních rolí pro Azure SQL Database

platí pro: Azure SQL Database

Tento příklad vytvoří přihlášení SQL ve virtuální hlavní databázi, vytvoří uživatele databáze, který souvisí s přihlášením k tomuto serveru, a přidá uživatele databáze jako člena zvláštní role dbmanager. Příklad umožňuje uživatelům oprávnění vytvářet a odstraňovat databáze na logickém serveru Azure SQL Database. Spusťte příklad ve virtuální hlavní databázi logického serveru 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;

Viz také

VYTVOŘIT ROLI (Transact-SQL)
Hlavní subjekty (databázový stroj)
DROP ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)