ALTER ROLE (Transact-SQL)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform 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).
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)
