MENCABUT Izin Utama Database (Transact-SQL)
Berlaku untuk: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Mencabut izin yang diberikan atau ditolak pada pengguna database, peran database, atau peran aplikasi.
Sintaksis
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
{ FROM | TO } <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
izin
Menentukan izin yang dapat dicabut pada prinsipal database. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.
USER ::database_user
Menentukan kelas dan nama pengguna tempat izin dicabut. Kualifikasi cakupan (::) diperlukan.
PERAN ::database_role
Menentukan kelas dan nama peran tempat izin dicabut. Kualifikasi cakupan (::) diperlukan.
PERAN APLIKASI ::application_role
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database
Menentukan kelas dan nama peran aplikasi tempat izin dicabut. Kualifikasi cakupan (::) diperlukan.
OPSI GRANT
Menunjukkan bahwa hak untuk memberikan izin yang ditentukan kepada prinsipal lain akan dicabut. Izin itu sendiri tidak akan dicabut.
Penting
Jika prinsipal memiliki izin yang ditentukan tanpa opsi GRANT, izin itu sendiri akan dicabut.
CASCADE
Menunjukkan bahwa izin yang dicabut juga dicabut dari prinsipal lain yang telah diberikan atau ditolak oleh prinsipal ini.
Perhatian
Pencabutan izin berkala yang diberikan WITH GRANT OPTION akan mencabut izin GRANT dan DENY tersebut.
AS <database_principal> Menentukan prinsipal tempat prinsipal menjalankan kueri ini memperoleh haknya untuk mencabut izin.
Database_user
Menentukan pengguna database.
Database_role
Menentukan peran database.
Application_role
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database
Menentukan peran aplikasi.
Database_user_mapped_to_Windows_User
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke pengguna Windows.
Database_user_mapped_to_Windows_Group
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke grup Windows.
Database_user_mapped_to_certificate
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke sertifikat.
Database_user_mapped_to_asymmetric_key
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Menentukan pengguna database yang dipetakan ke kunci asimetris.
Database_user_with_no_login
Menentukan pengguna database tanpa prinsipal tingkat server yang sesuai.
Keterangan
Izin Pengguna Database
Pengguna database adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat dicabut pada pengguna database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin pengguna database | Tersirat oleh izin pengguna database | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
MENIRU | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PENGGUNA APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin Peran Database
Peran database adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat dicabut pada peran database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin peran database | Tersirat oleh izin peran database | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
AMBIL KEPEMILIKAN | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PERAN APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin Peran Aplikasi
Peran aplikasi adalah tingkat database yang dapat diamankan yang dimuat oleh database yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat dicabut pada peran aplikasi tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.
Izin peran aplikasi | Tersirat oleh izin peran aplikasi | Tersirat oleh izin database |
---|---|---|
CONTROL | CONTROL | CONTROL |
ALTER | CONTROL | MENGUBAH PERAN APLIKASI APA PUN |
MELIHAT DEFINISI | CONTROL | MELIHAT DEFINISI |
Izin
Memerlukan izin CONTROL pada prinsipal yang ditentukan, atau izin yang lebih tinggi yang menyiratkan izin CONTROL.
Pemberi izin CONTROL pada database, seperti anggota peran database tetap db_owner , dapat memberikan izin apa pun pada setiap yang dapat diamankan dalam database.
Contoh
J. Mencabut izin CONTROL pada pengguna dari pengguna lain
Contoh berikut mencabut CONTROL
izin pada AdventureWorks2022
pengguna Wanida
dari pengguna RolandX
.
USE AdventureWorks2022;
REVOKE CONTROL ON USER::Wanida FROM RolandX;
GO
B. Mencabut izin VIEW DEFINITION pada peran dari pengguna yang diberikan DENGAN GRANT OPTION
Contoh berikut mencabut VIEW DEFINITION
izin pada AdventureWorks2022
peran SammamishParking
dari pengguna JinghaoLiu
database . Opsi CASCADE
ditentukan karena pengguna JinghaoLiu
diberi VIEW DEFINITION
izin WITH GRANT OPTION
.
USE AdventureWorks2022;
REVOKE VIEW DEFINITION ON ROLE::SammamishParking
FROM JinghaoLiu CASCADE;
GO
C. Mencabut izin IMPERSONATE pada pengguna dari peran aplikasi
Contoh berikut mencabut IMPERSONATE
izin pada pengguna HamithaL
dari AdventureWorks2022
peran AccountsPayable17
aplikasi .
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database
USE AdventureWorks2022;
REVOKE IMPERSONATE ON USER::HamithaL FROM AccountsPayable17;
GO
Lihat Juga
IZIN Utama Grant Database (Transact-SQL)
DENY Database Principal Permissions (Transact-SQL)
sys.database_principals (T-SQL)
sys.database_permissions (T-SQL)
CREATE USER (Transact-SQL)
MEMBUAT PERAN APLIKASI (Transact-SQL)
BUAT PERAN (Transact-SQL)
GRANT (T-SQL)
Izin (Mesin Database)
Prinsipal (Mesin Database)