UBAH PERAN (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance SQL di Microsoft Fabric Warehouse 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).
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
[;]
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 dbmanager
khusus . 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)