UBAH PERAN (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instancetitik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

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

Catatan

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

Konvensi sintaks transact-SQL

Sintaks

Sintaks untuk SQL Server (dimulai dengan 2012), Azure SQL Managed Instance, Azure SQL Database, dan Microsoft Fabric.

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

Sintaks untuk SQL Server sebelum 2012.

-- 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 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

role_name
Berlaku untuk: SQL Server (dimulai dengan 2008), Azure SQL Database, Azure SQL Managed Instance

Menentukan peran database yang akan diubah.

TAMBAHKAN database_principal ANGGOTA
Berlaku untuk: SQL Server (dimulai dengan 2012), Azure SQL Database, Azure SQL Managed Instance

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, Azure SQL Managed Instance

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, Azure SQL Managed Instance

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 yang Anda butuhkan:

  • 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

J. Mengubah nama peran database

Berlaku untuk: SQL Server (dimulai dengan 2008), Azure SQL Database, Azure SQL Managed Instance

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), Azure SQL Database, Azure SQL Managed Instance

Contoh ini membuat peran database bernama Sales. Ini menambahkan pengguna database bernama Barry ke keanggotaan, lalu menunjukkan 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

Berlaku untuk: Azure SQL Database

Contoh ini membuat login SQL di database master virtual, 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 dalam database master virtual 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

BUAT PERAN (Transact-SQL)
Prinsipal (Mesin Database)
DROP ROLE (Transact-SQL)
sp_addrolemember (T-SQL)
sys.database_role_members (T-SQL)
sys.database_principals (T-SQL)