Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Sistem Platform Analitik (PDW)
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Pratinjau Microsoft Fabric
Menghapus izin yang diberikan atau ditolak sebelumnya.
Syntax
Sintaks untuk database SQL Server, Azure SQL Database, dan Fabric SQL
-- Simplified syntax for REVOKE
REVOKE [ GRANT OPTION FOR ]
{
[ ALL [ PRIVILEGES ] ]
|
permission [ ( column [ ,...n ] ) ] [ ,...n ]
}
[ ON [ class :: ] securable ]
{ TO | FROM } principal [ ,...n ]
[ CASCADE] [ AS principal ]
Sintaks untuk Azure Synapse Analytics, Gudang Data Paralel, dan gudang Microsoft Fabric
REVOKE
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
[ FROM | TO ] principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Arguments
OPSI GRANT UNTUK
Menunjukkan bahwa kemampuan untuk memberikan izin yang ditentukan akan dicabut. Ini diperlukan saat Anda menggunakan argumen CASCADE.
Important
Jika prinsipal memiliki izin yang ditentukan tanpa opsi GRANT, izin itu sendiri akan dicabut.
ALL
Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru
Opsi ini tidak mencabut semua izin yang mungkin. Mencabut SEMUA setara dengan mencabut izin berikut.
Jika yang dapat diamankan adalah database, SEMUA berarti DATABASE CADANGAN, LOG CADANGAN, BUAT DATABASE, BUAT DEFAULT, BUAT FUNGSI, BUAT PROSEDUR, BUAT ATURAN, BUAT TABEL, dan BUAT TAMPILAN.
Jika yang dapat diamankan adalah fungsi skalar, SEMUA berarti EXECUTE dan REFERENCES.
Jika yang dapat diamankan adalah fungsi bernilai tabel, SEMUA berarti DELETE, INSERT, REFERENCES, SELECT, dan UPDATE.
Jika yang dapat diamankan adalah prosedur tersimpan, SEMUA berarti JALANKAN.
Jika yang dapat diamankan adalah tabel, SEMUA berarti HAPUS, SISIPKAN, REFERENSI, PILIH, dan PERBARUI.
Jika yang dapat diamankan adalah tampilan, SEMUA berarti HAPUS, SISIPKAN, REFERENSI, PILIH, dan PERBARUI.
Note
Sintaks REVOKE ALL tidak digunakan lagi. Fitur ini akan dihapus dalam versi SQL Server yang akan datang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini. Cabut izin tertentu sebagai gantinya.
PRIVILEGES
Disertakan untuk kepatuhan ISO. Tidak mengubah perilaku ALL.
permission
Adalah nama izin. Pemetaan izin yang valid ke yang dapat diamankan dijelaskan dalam topik yang tercantum dalam Sintaksis Khusus yang Dapat Diamankan nanti dalam topik ini.
column
Menentukan nama kolom dalam tabel tempat izin dicabut. Tanda kurung diperlukan.
class
Menentukan kelas yang dapat diamankan tempat izin dicabut. Kualifikasi cakupan :: diperlukan.
securable
Menentukan yang dapat diamankan di mana izin sedang dicabut.
KE | DARI prinsipal
Adalah nama seorang prinsipal. Prinsipal tempat izin pada yang dapat diamankan dapat dicabut bervariasi, tergantung pada yang dapat diamankan. Untuk informasi selengkapnya tentang kombinasi yang valid, lihat topik yang tercantum dalam Sintaks khusus Yang Dapat Diamankan nanti dalam topik ini.
CASCADE
Menunjukkan bahwa izin yang dicabut juga dicabut dari prinsipal lain yang telah diberikan oleh prinsipal ini. Saat Anda menggunakan argumen CASCADE, Anda juga harus menyertakan argumen GRANT OPTION FOR.
Caution
Pencabutan izin berkala yang diberikan WITH GRANT OPTION akan mencabut izin GRANT dan DENY tersebut.
AS principal
Gunakan klausul utama AS untuk menunjukkan bahwa Anda mencabut izin yang diberikan oleh prinsipal selain Anda. Misalnya, anggaplah bahwa pengguna Mary adalah principal_id 12 dan pengguna Raul adalah principal_id 15. Mary dan Raul memberikan pengguna bernama Steven izin yang sama. Tabel sys.database_permissions akan menunjukkan izin dua kali tetapi masing-masing akan memiliki nilai grantor_principal_id yang berbeda. Maria dapat mencabut izin menggunakan AS RAUL klausul untuk menghapus pemberian izin Raul.
Penggunaan AS dalam pernyataan ini tidak menyiratkan kemampuan untuk meniru pengguna lain.
Remarks
Sintaks lengkap pernyataan REVOKE bersifat kompleks. Diagram sintaks di atas disederhanakan untuk menarik perhatian pada strukturnya. Sintaks lengkap untuk mencabut izin pada securables tertentu dijelaskan dalam topik yang tercantum dalam Sintaksis Khusus Yang Dapat Diamankan nanti dalam topik ini.
Pernyataan REVOKE dapat digunakan untuk menghapus izin yang diberikan, dan pernyataan DENY dapat digunakan untuk mencegah prinsipal mendapatkan izin tertentu melalui GRANT.
Memberikan izin akan menghapus TOLAK atau PENCABUTAN izin tersebut pada yang ditentukan yang dapat diamankan. Jika izin yang sama ditolak pada cakupan yang lebih tinggi yang berisi yang dapat diamankan, TOLAK diutamakan. Namun, mencabut izin yang diberikan pada cakupan yang lebih tinggi tidak diutamakan.
Caution
TOLAK tingkat tabel tidak lebih diutamakan daripada GRANT tingkat kolom. Ketidakkonsistensian dalam hierarki izin ini telah dipertahankan untuk kompatibilitas mundur. Ini akan dihapus dalam rilis mendatang.
Prosedur tersimpan sistem sp_helprotect melaporkan izin pada tingkat database yang dapat diamankan
Pernyataan REVOKE akan gagal jika CASCADE tidak ditentukan ketika Anda mencabut izin dari prinsipal yang diberikan izin tersebut dengan GRANT OPTION yang ditentukan.
Permissions
Prinsipal dengan izin CONTROL pada yang dapat diamankan dapat mencabut izin pada yang dapat diamankan. Pemilik objek dapat mencabut izin pada objek yang mereka miliki.
Pemberi izin SERVER KONTROL, seperti anggota peran server tetap sysadmin, dapat mencabut izin apa pun pada setiap yang dapat diamankan di server. Pemberi izin CONTROL pada database, seperti anggota peran database tetap db_owner, dapat mencabut izin apa pun pada setiap yang dapat diamankan dalam database. Pemberi izin CONTROL pada skema dapat mencabut izin apa pun pada objek apa pun dalam skema.
Securable-specific Syntax
Tabel berikut mencantumkan securables dan topik yang menjelaskan sintaksis khusus yang dapat diamankan.
Examples
A. Memberikan dan mencabut
Berlaku untuk: SQL Server, SQL Database
Contoh berikut membuat skema, pengguna database mandiri, dan peran baru pada database pengguna. Ini menambahkan pengguna ke peran, memberikan izin SELECT pada skema ke peran, lalu menghapus (REVOKE) izin tersebut ke peran tersebut.
CREATE SCHEMA Sales;
GO
CREATE USER Joe without login;
GO
CREATE ROLE Vendors;
GO
ALTER ROLE Vendors ADD MEMBER Joe;
GO
GRANT SELECT ON SCHEMA :: Sales TO Vendors;
GO
REVOKE SELECT ON SCHEMA :: Sales TO Vendors;
GO
See Also
Hierarki Izin (Mesin Database)
DENY (Transact-SQL)
GRANT (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)