Deny Database Permissions (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Menolak izin pada database di SQL Server.

Konvensi sintaks transact-SQL

Sintaksis

DENY <permission> [ ,...n ]
    TO <database_principal> [ ,...n ] [ CASCADE ]
    [ AS <database_principal> ]

<permission> ::=
    permission | ALL [ PRIVILEGES ]

<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 ditolak pada database. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

SEMUA Opsi ini tidak menolak semua izin yang mungkin. Menolak SEMUA setara dengan menolak izin berikut: BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE, dan CREATE VIEW.

HAK ISTIMEWA Disertakan untuk kepatuhan ISO. Tidak mengubah perilaku ALL.

CASCADE Menunjukkan bahwa izin juga akan ditolak untuk prinsipal tempat prinsipal yang ditentukan memberikannya.

AS <database_principal> Menentukan prinsipal dari mana prinsipal yang menjalankan kueri ini memperoleh haknya untuk menolak 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 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

Database adalah yang dapat diamankan yang dimuat oleh server yang merupakan induknya dalam hierarki izin. Izin paling spesifik dan terbatas yang dapat ditolak pada database tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.

Izin database Tersirat oleh izin database Tersirat oleh izin server
ADMINISTER DATABASE BULK OPERATIONS
Berlaku untuk: SQL Database.
CONTROL SERVER KONTROL
ALTER CONTROL ALTER ANY DATABASE
MENGUBAH PERAN APLIKASI APA PUN ALTER SERVER KONTROL
MENGUBAH RAKITAN APA PUN ALTER SERVER KONTROL
MENGUBAH KUNCI ASIMETRIS APA PUN ALTER SERVER KONTROL
MENGUBAH SERTIFIKAT APA PUN ALTER SERVER KONTROL
MENGUBAH KUNCI ENKRIPSI KOLOM APA PUN ALTER SERVER KONTROL
MENGUBAH DEFINISI KUNCI MASTER KOLOM APA PUN ALTER SERVER KONTROL
MENGUBAH KONTRAK APA PUN ALTER SERVER KONTROL
MENGUBAH AUDIT DATABASE APA PUN ALTER MENGUBAH AUDIT SERVER APA PUN
MENGUBAH PEMICU DDL DATABASE APA PUN ALTER SERVER KONTROL
MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN ALTER MENGUBAH PEMBERITAHUAN PERISTIWA APA PUN
MENGUBAH SESI PERISTIWA DATABASE APA PUN
Berlaku untuk: Azure SQL Database.
ALTER MENGUBAH SESI PERISTIWA APA PUN
MENGUBAH KONFIGURASI CAKUPAN DATABASE APA PUN
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, SQL Database.
CONTROL SERVER KONTROL
MENGUBAH RUANG DATA APA PUN ALTER SERVER KONTROL
ALTER ANY EXTERNAL DATA SOURCE ALTER SERVER KONTROL
ALTER ANY EXTERNAL FILE FORMAT ALTER SERVER KONTROL
MENGUBAH PUSTAKA EKSTERNAL APA PUN
Berlaku untuk: SQL Server 2017 (14.x).
CONTROL SERVER KONTROL
MENGUBAH KATALOG FULLTEXT APA PUN ALTER SERVER KONTROL
UBAH MASKER APA PUN CONTROL SERVER KONTROL
UBAH JENIS PESAN APA PUN ALTER SERVER KONTROL
MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN ALTER SERVER KONTROL
MENGUBAH PERAN APA PUN ALTER SERVER KONTROL
MENGUBAH RUTE APA PUN ALTER SERVER KONTROL
MENGUBAH KEBIJAKAN KEAMANAN APA PUN
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru, Azure SQL Database.
CONTROL SERVER KONTROL
ALTER ANY SCHEMA ALTER SERVER KONTROL
MENGUBAH LAYANAN APA PUN ALTER SERVER KONTROL
MENGUBAH KUNCI SIMETRIS APA PUN ALTER SERVER KONTROL
MENGUBAH PENGGUNA APA PUN ALTER SERVER KONTROL
MENGOTENTIKASI CONTROL MENGAUTENTIKASI SERVER
DATABASE CADANGAN CONTROL SERVER KONTROL
LOG CADANGAN CONTROL SERVER KONTROL
TITIK PEMERIKSAAN CONTROL SERVER KONTROL
MENGHUBUNG SAMBUNGKAN REPLIKASI SERVER KONTROL
SAMBUNGKAN REPLIKASI CONTROL SERVER KONTROL
CONTROL CONTROL SERVER KONTROL
CREATE AGGREGATE ALTER SERVER KONTROL
MEMBUAT RAKITAN MENGUBAH RAKITAN APA PUN SERVER KONTROL
MEMBUAT KUNCI ASIMETRIS MENGUBAH KUNCI ASIMETRIS APA PUN SERVER KONTROL
BUAT SERTIFIKAT MENGUBAH SERTIFIKAT APA PUN SERVER KONTROL
BUAT KONTRAK MENGUBAH KONTRAK APA PUN SERVER KONTROL
BUAT DATABASE CONTROL CREATE ANY DATABASE
MEMBUAT PEMBERITAHUAN PERISTIWA DDL DATABASE MENGUBAH PEMBERITAHUAN PERISTIWA DATABASE APA PUN MEMBUAT PEMBERITAHUAN PERISTIWA DDL
BUAT DEFAULT ALTER SERVER KONTROL
BUAT KATALOG FULLTEXT MENGUBAH KATALOG FULLTEXT APA PUN SERVER KONTROL
CREATE FUNCTION ALTER SERVER KONTROL
MEMBUAT JENIS PESAN UBAH JENIS PESAN APA PUN SERVER KONTROL
CREATE PROCEDURE ALTER SERVER KONTROL
BUAT ANTREAN ALTER SERVER KONTROL
MEMBUAT PENGIKATAN LAYANAN JARAK JAUH MENGUBAH PENGIKATAN LAYANAN JARAK JAUH APA PUN SERVER KONTROL
BUAT PERAN MENGUBAH PERAN APA PUN SERVER KONTROL
BUAT RUTE MENGUBAH RUTE APA PUN SERVER KONTROL
BUAT ATURAN ALTER SERVER KONTROL
CREATE SCHEMA ALTER ANY SCHEMA SERVER KONTROL
BUAT LAYANAN MENGUBAH LAYANAN APA PUN SERVER KONTROL
MEMBUAT KUNCI SIMETRIS MENGUBAH KUNCI SIMETRIS APA PUN SERVER KONTROL
MEMBUAT SINONIM ALTER SERVER KONTROL
CREATE TABLE ALTER SERVER KONTROL
CREATE TYPE ALTER SERVER KONTROL
BUAT TAMPILAN ALTER SERVER KONTROL
MEMBUAT KOLEKSI SKEMA XML ALTER SERVER KONTROL
DELETE CONTROL SERVER KONTROL
EXECUTE CONTROL SERVER KONTROL
JALANKAN SKRIP EKSTERNAL APA PUN
Berlaku untuk: SQL Server 2016 (13.x).
CONTROL SERVER KONTROL
INSERT CONTROL SERVER KONTROL
KILL DATABASE CONNECTION
Berlaku untuk: Azure SQL Database.
CONTROL MENGUBAH KONEKSI APA PUN
REFERENCES CONTROL SERVER KONTROL
SELECT CONTROL SERVER KONTROL
SHOWPLAN CONTROL ALTER TRACE
BERLANGGANAN PEMBERITAHUAN KUERI CONTROL SERVER KONTROL
AMBIL KEPEMILIKAN CONTROL SERVER KONTROL
UNMASK CONTROL SERVER KONTROL
UPDATE CONTROL SERVER KONTROL
LIHAT KUNCI ENKRIPSI KOLOM APA PUN CONTROL LIHAT DEFINISI APA PUN
LIHAT DEFINISI KUNCI MASTER APA PUN CONTROL LIHAT DEFINISI APA PUN
TAMPILKAN STATUS DATABASE CONTROL LIHAT STATUS SERVER
MELIHAT DEFINISI CONTROL LIHAT DEFINISI APA PUN

Izin

Prinsipal yang menjalankan pernyataan ini (atau prinsipal yang ditentukan dengan opsi AS) harus memiliki izin CONTROL pada database atau izin yang lebih tinggi yang menyiratkan izin CONTROL pada database.

Jika Anda menggunakan opsi AS, prinsipal yang ditentukan harus memiliki database.

Contoh

J. Menolak izin untuk membuat sertifikat

Contoh berikut menolak CREATE CERTIFICATE izin pada AdventureWorks2022 database kepada pengguna MelanieK.

USE AdventureWorks2022;
DENY CREATE CERTIFICATE TO MelanieK;
GO

B. Menolak izin REFERENSI ke peran aplikasi

Contoh berikut menolak REFERENCES izin pada database ke AdventureWorks2022 peran AuditMonitoraplikasi .

Berlaku untuk: SQL Server 2008 (10.0.x) dan yang lebih baru, SQL Database.

USE AdventureWorks2022;
DENY REFERENCES TO AuditMonitor;
GO

C. Menolak DEFINISI TAMPILAN dengan CASCADE

Contoh berikut menolak VIEW DEFINITION izin pada AdventureWorks2022 database kepada pengguna CarmineEs dan semua prinsipal yang CarmineEs telah memberikan VIEW DEFINITION izin.

USE AdventureWorks2022;
DENY VIEW DEFINITION TO CarmineEs CASCADE;
GO

Lihat Juga