MENCABUT Izin Utama Database (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Mencabut izin yang diberikan atau ditolak pada pengguna database, peran database, atau peran aplikasi.

Konvensi sintaks transact-SQL

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 JinghaoLiudatabase . 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 AccountsPayable17aplikasi .

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)