MENCABUT Izin Objek (Transact-SQL)
Berlaku untuk: SQL Server Azure 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.
Sintaks
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
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)