MENCABUT Izin Objek (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Mencabut izin pada tabel, tampilan, fungsi bernilai tabel, prosedur tersimpan, prosedur tersimpan yang diperluas, fungsi skalar, fungsi agregat, antrean layanan, atau sinonim.

Konvensi sintaks transact-SQL

Sintaksis

REVOKE [ GRANT OPTION FOR ] <permission> [ ,...n ] ON   
    [ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]  
        { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<permission> ::=  
    ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]  
  
<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 objek yang berisi skema. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

SEMUA
Mencabut SEMUA tidak mencabut semua izin yang mungkin. Mencabut SEMUA setara dengan mencabut semua izin ANSI-92 yang berlaku untuk objek yang ditentukan. Arti SEMUA bervariasi sebagai berikut:

Izin fungsi skalar: EXECUTE, REFERENCES.

Izin fungsi bernilai tabel: DELETE, INSERT, REFERENCES, SELECT, UPDATE.

Izin Prosedur Tersimpan: EXECUTE.

Izin tabel: HAPUS, SISIPKAN, REFERENSI, PILIH, PERBARUI.

Lihat izin: HAPUS, SISIPKAN, REFERENSI, PILIH, PERBARUI.

HAK ISTIMEWA
Disertakan untuk kepatuhan ANSI-92. Tidak mengubah perilaku ALL.

column
Menentukan nama kolom dalam tabel, tampilan, atau fungsi bernilai tabel tempat izin dicabut. Tanda kurung ( ) diperlukan. Hanya izin SELECT, REFERENCES, dan UPDATE yang dapat ditolak pada kolom. kolom dapat ditentukan dalam klausa izin atau setelah nama yang dapat diamankan.

ON [ OBJECT :: ] [ schema_name ] . object_name
Menentukan objek tempat izin dicabut. Frasa OBJECT bersifat opsional jika schema_name ditentukan. Jika frasa OBJECT digunakan, kualifikasi cakupan (::) diperlukan. Jika schema_name tidak ditentukan, skema default akan digunakan. Jika schema_name ditentukan, kualifikasi cakupan skema (.) diperlukan.

{ FROM | TO } <database_principal> Menentukan prinsipal tempat izin dicabut.

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
Menentukan peran aplikasi.

Database_user_mapped_to_Windows_User
Menentukan pengguna database yang dipetakan ke pengguna Windows.

Database_user_mapped_to_Windows_Group
Menentukan pengguna database yang dipetakan ke grup Windows.

Database_user_mapped_to_certificate
Menentukan pengguna database yang dipetakan ke sertifikat.

Database_user_mapped_to_asymmetric_key
Menentukan pengguna database yang dipetakan ke kunci asimetris.

Database_user_with_no_login
Menentukan pengguna database tanpa prinsipal tingkat server yang sesuai.

Keterangan

Informasi tentang objek terlihat dalam berbagai tampilan katalog. Untuk informasi selengkapnya, lihat Tampilan Katalog Objek (Transact-SQL).

Objek adalah tingkat skema yang dapat diamankan yang dimuat oleh skema yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat dicabut pada objek tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.

Izin objek Tersirat oleh izin objek Tersirat oleh izin skema
ALTER CONTROL ALTER
CONTROL CONTROL CONTROL
DELETE CONTROL DELETE
EXECUTE CONTROL EXECUTE
INSERT CONTROL INSERT
TERIMA CONTROL CONTROL
REFERENCES CONTROL REFERENCES
SELECT TERIMA SELECT
AMBIL KEPEMILIKAN CONTROL CONTROL
UPDATE CONTROL UPDATE
LIHAT PELACAKAN PERUBAHAN CONTROL LIHAT PELACAKAN PERUBAHAN
MELIHAT DEFINISI CONTROL MELIHAT DEFINISI

Izin

Memerlukan izin CONTROL pada objek.

Jika Anda menggunakan klausul AS, prinsipal yang ditentukan harus memiliki objek tempat izin dicabut.

Contoh

J. Mencabut izin SELECT pada tabel

Contoh berikut mencabut SELECT izin dari pengguna RosaQdM pada tabel Person.Address dalam AdventureWorks2022 database.

USE AdventureWorks2022;  
REVOKE SELECT ON OBJECT::Person.Address FROM RosaQdM;  
GO  

B. Mencabut izin EXECUTE pada prosedur tersimpan

Contoh berikut mencabut EXECUTE izin pada prosedur HumanResources.uspUpdateEmployeeHireInfo tersimpan dari peran aplikasi yang disebut Recruiting11.

USE AdventureWorks2022;  
REVOKE EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
    FROM Recruiting11;  
GO   

C. Mencabut izin REFERENSI pada tampilan dengan CASCADE

Contoh berikut mencabut REFERENCES izin pada kolom BusinessEntityID dalam tampilan HumanResources.vEmployee dari pengguna Wanida dengan CASCADE.

USE AdventureWorks2022;  
REVOKE REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee   
    FROM Wanida CASCADE;  
GO  

Lihat Juga

IZIN Objek GRANT (Transact-SQL)
DENY Object Permissions (Transact-SQL)
Tampilan Katalog Objek (Transact-SQL)
Izin (Mesin Database)
Prinsipal (Mesin Database)
Securable
sys.fn_builtin_permissions (T-SQL)
HAS_PERMS_BY_NAME (T-SQL)
sys.fn_my_permissions (T-SQL)