ALTER ROLE (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Menambahkan atau menghapus anggota ke atau dari peran database, atau mengubah nama peran database yang ditentukan pengguna.

Catatan

Untuk mengubah peran menambahkan atau menghilangkan anggota di Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan sp_addrolemember (Transact-SQL) dan sp_droprolemember (Transact-SQL).

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server (starting with 2012) and Azure SQL Database  
  
ALTER ROLE  role_name  
{  
       ADD MEMBER database_principal  
    |  DROP MEMBER database_principal  
    |  WITH NAME = new_name  
}  
[;]  
-- Syntax for SQL Server 2008, Azure Synapse Analytics and Parallel Data Warehouse
  
-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

role_name
BERLAKU UNTUK: SQL Server (dimulai dengan 2008), Azure SQL Database

Menentukan peran database yang akan diubah.

TAMBAHKAN database_principal ANGGOTA
BERLAKU UNTUK: SQL Server (dimulai dengan 2012), Azure SQL Database

Menentukan untuk menambahkan prinsipal database ke keanggotaan peran database.

  • database_principal adalah pengguna database atau peran database yang ditentukan pengguna.

  • database_principal tidak dapat menjadi peran database tetap atau prinsipal server.

database_principal DROP MEMBER
BERLAKU UNTUK: SQL Server (dimulai dengan 2012), Azure SQL Database

Menentukan untuk menghapus prinsipal database dari keanggotaan peran database.

  • database_principal adalah pengguna database atau peran database yang ditentukan pengguna.

  • database_principal tidak dapat menjadi peran database tetap atau prinsipal server.

WITH NAME = new_name
BERLAKU UNTUK: SQL Server (dimulai dengan 2008), Azure SQL Database

Menentukan untuk mengubah nama peran database yang ditentukan pengguna. Nama baru belum boleh ada di database.

Mengubah nama peran database tidak mengubah nomor ID, pemilik, atau izin peran.

Izin

Untuk menjalankan perintah ini, Anda memerlukan satu atau beberapa izin atau keanggotaan ini:

  • IZIN ALTER pada peran
  • MENGUBAH izin PERAN APA PUN pada database
  • Keanggotaan dalam peran database tetap db_securityadmin

Selain itu, untuk mengubah keanggotaan dalam peran database tetap, Anda perlu:

  • Keanggotaan dalam peran database tetap db_owner

Pembatasan dan batasan

Anda tidak dapat mengubah nama peran database tetap.

Metadata

Tampilan sistem ini berisi informasi tentang peran database dan prinsipal database.

Contoh

A. Mengubah nama peran database

BERLAKU UNTUK: SQL Server (dimulai dengan 2008), SQL Database

Contoh berikut mengubah nama peran buyers menjadi purchasing. Contoh ini dapat dijalankan dalam database sampel AdventureWorks .

ALTER ROLE buyers WITH NAME = purchasing;  

B. Menambahkan atau menghapus anggota peran

BERLAKU UNTUK: SQL Server (dimulai dengan 2012), SQL Database

Contoh ini membuat peran database bernama Sales. Ini menambahkan pengguna database bernama Barry ke keanggotaan, lalu memperlihatkan cara menghapus anggota Barry. Contoh ini dapat dijalankan dalam database sampel AdventureWorks .

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

C. Menambahkan anggota peran ke peran khusus untuk Azure SQL Database dan Azure Synapse Analytics

BERLAKU UNTUK: SQL Server (Azure SQL Database dan Azure Synapse), SQL Database

Contoh ini membuat login SQL di database master, membuat pengguna database yang terkait dengan login server tersebut, dan menambahkan pengguna database sebagai anggota peran dbmanagerkhusus . Contoh ini memungkinkan izin pengguna untuk membuat dan menghilangkan database di server logis Azure SQL Database. Jalankan contoh pada database master server logis 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;

Lihat juga

CREATE ROLE (Transact-SQL)
Prinsipal (Mesin Database)
DROP ROLE (Transact-SQL)
sp_addrolemember (SQL Bertransaksi)
sys.database_role_members (SQL Bertransaksi)
sys.database_principals (SQL Bertransaksi)