Udostępnij za pomocą


ROLA ALTERA (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstancePunkt końcowy analizy SQL w usłudze Microsoft FabricMagazyn w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Dodaje lub usuwa członków z roli bazy danych lub zmienia nazwę roli bazy danych zdefiniowanej przez użytkownika.

Note

Aby dodawać lub usuwać elementy członkowskie z ról w usłudze Azure Synapse Analytics and Analytics Platform System (PDW) użyj sp_addrolemember (Transact-SQL) i sp_droprolemember (Transact-SQL).

Transact-SQL konwencje składni

Syntax

Składnia programu SQL Server (począwszy od 2012 r.), Azure SQL Managed Instance, Azure SQL Database i Microsoft Fabric.

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

Składnia programu SQL Server przed 2012 r.

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

Arguments

role_name
Dotyczy: SQL Server (począwszy od 2008 r.), Azure SQL Database, Azure SQL Managed Instance

Określa rolę bazy danych do zmiany.

DODAWANIE database_principal CZŁONKA
Dotyczy: SQL Server (począwszy od 2012 r.), Azure SQL Database, Azure SQL Managed Instance

Określa, aby dodać podmiot zabezpieczeń bazy danych do członkostwa roli bazy danych.

  • database_principal jest użytkownikiem bazy danych lub rolą bazy danych zdefiniowaną przez użytkownika.

  • database_principal nie może być stałą rolą bazy danych ani jednostką serwera.

WYCOFANIE CZŁONKÓW database_principal
Dotyczy: SQL Server (począwszy od 2012 r.), Azure SQL Database, Azure SQL Managed Instance

Określa, aby usunąć podmiot zabezpieczeń bazy danych z członkostwa w roli bazy danych.

  • database_principal jest użytkownikiem bazy danych lub rolą bazy danych zdefiniowaną przez użytkownika.

  • database_principal nie może być stałą rolą bazy danych ani jednostką serwera.

Z NAZWĄ = new_name
Dotyczy: SQL Server (począwszy od 2008 r.), Azure SQL Database, Azure SQL Managed Instance

Określa, aby zmienić nazwę roli bazy danych zdefiniowanej przez użytkownika. Nowa nazwa nie może jeszcze istnieć w bazie danych.

Zmiana nazwy roli bazy danych nie powoduje zmiany numeru identyfikatora, właściciela ani uprawnień roli.

Permissions

Aby uruchomić to polecenie, potrzebujesz co najmniej jednego z tych uprawnień lub członkostwa:

  • Uprawnienie ALTER dla roli
  • ALTER ANY ROLE permission on the database (ZMIENIANIE UPRAWNIEŃ ROLI w bazie danych)
  • Członkostwo w stałej roli bazy danych db_securityadmin

Ponadto, aby zmienić członkostwo w stałej roli bazy danych, potrzebne są następujące elementy:

  • Członkostwo w stałej roli bazy danych db_owner

Ograniczenia i ograniczenia

Nie można zmienić nazwy stałej roli bazy danych.

Metadata

Te widoki systemowe zawierają informacje o rolach bazy danych i jednostkach bazy danych.

Examples

A. Zmienianie nazwy roli bazy danych

Dotyczy: SQL Server (począwszy od 2008 r.), Azure SQL Database, Azure SQL Managed Instance

Poniższy przykład zmienia nazwę roli buyers na purchasing. Ten przykład można wykonać w przykładowej bazie danych AdventureWorks .

ALTER ROLE buyers WITH NAME = purchasing;  

B. Dodawanie lub usuwanie członków roli

Dotyczy: SQL Server (począwszy od 2012 r.), Azure SQL Database, Azure SQL Managed Instance

W tym przykładzie zostanie utworzona rola bazy danych o nazwie Sales. Dodaje użytkownika bazy danych o nazwie Barry do członkostwa, a następnie pokazuje, jak usunąć członka Barry. Ten przykład można wykonać w przykładowej bazie danych AdventureWorks .

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

C. Dodawanie członka roli do ról specjalnych dla usługi Azure SQL Database

Dotyczy: Azure SQL Database

W tym przykładzie tworzony jest identyfikator logowania SQL w wirtualnej bazie danych master, tworzy użytkownika bazy danych powiązanego z tym identyfikatorem logowania serwera i dodaje użytkownika bazy danych jako członka roli specjalnej dbmanager. Przykład umożliwia użytkownikowi tworzenie i usuwanie baz danych na serwerze logicznym usługi Azure SQL Database. Uruchom przykład w wirtualnej bazie danych master serwera logicznego usługi 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;

Zobacz też

UTWÓRZ ROLĘ (Transact-SQL)
Podmioty (aparat bazy danych)
UPUŚĆ ROLĘ (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)