Deny Server Principal Permissions (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Menolak izin yang diberikan pada login SQL Server.

Konvensi sintaks transact-SQL

Sintaksis

DENY permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ CASCADE ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

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 login SQL Server. Untuk daftar izin, lihat bagian Keterangan nanti dalam topik ini.

LOGIN ::SQL_Server_login
Menentukan login SQL Server tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.

PERAN SERVER ::server_role
Menentukan peran server tempat izin ditolak. Kualifikasi cakupan (::) diperlukan.

UNTUK <server_principal>
Menentukan peran masuk atau server SQL Server tempat izin diberikan.

UNTUK SQL_Server_login
Menentukan login SQL Server tempat izin ditolak.

SQL_Server_login
Menentukan nama login SQL Server.

SQL_Server_login_from_Windows_login
Menentukan nama login SQL Server yang dibuat dari login Windows.

SQL_Server_login_from_certificate
Menentukan nama login SQL Server yang dipetakan ke sertifikat.

SQL_Server_login_from_AsymKey
Menentukan nama login SQL Server yang dipetakan ke kunci asimetris.

server_role
Menentukan nama peran server.

CASCADE
Menunjukkan bahwa izin yang ditolak juga ditolak untuk prinsipal lain yang telah diberikan oleh prinsipal ini.

AS SQL_Server_login
Menentukan login SQL Server tempat prinsipal menjalankan kueri ini memperoleh haknya untuk menolak izin.

Keterangan

Izin di cakupan server hanya dapat ditolak ketika database saat ini adalah master.

Informasi tentang izin server tersedia dalam tampilan katalog sys.server_permissions . Informasi tentang prinsipal server tersedia dalam tampilan katalog sys.server_principals .

Pernyataan DENY gagal jika CASCADE tidak ditentukan ketika Anda menolak izin ke prinsipal yang diberikan izin tersebut dengan GRANT OPTION.

Login SQL Server dan peran server adalah keamanan tingkat server. Izin paling spesifik dan terbatas yang dapat ditolak pada login SQL Server atau peran server tercantum dalam tabel berikut, bersama dengan izin yang lebih umum yang menyertakannya berdasarkan implikasi.

Masuk SQL Server atau izin peran server Tersirat oleh login SQL Server atau izin peran server Tersirat oleh izin server
CONTROL CONTROL SERVER KONTROL
MENIRU CONTROL SERVER KONTROL
MELIHAT DEFINISI CONTROL LIHAT DEFINISI APA PUN
ALTER CONTROL ALTER ANY LOGIN

MENGUBAH PERAN SERVER APA PUN

Izin

Untuk masuk, memerlukan izin CONTROL pada izin masuk atau UBAH LOGIN APA PUN di server.

Untuk peran server, memerlukan izin CONTROL pada peran server atau mengubah izin PERAN SERVER APA PUN di server.

Contoh

J. Menolak izin IMPERSONATE pada login

Contoh berikut menolak IMPERSONATE izin pada login WanidaBenshoof SQL Server ke login SQL Server yang dibuat dari pengguna AdvWorks\YoonMWindows .

USE master;  
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];  
GO  

B. Menolak izin LIHAT DEFINISI dengan CASCADE

Contoh berikut menolak VIEW DEFINITION izin pada login EricKurjan SQL Server ke login RMeyyappanSQL Server . Opsi CASCADE menunjukkan bahwa VIEW DEFINITION izin pada juga akan ditolak EricKurjan untuk prinsipal yang RMeyyappan memberikan izin ini.

USE master;  
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    CASCADE;  
GO   

C. Menolak izin LIHAT DEFINISI pada peran server

Contoh berikut menolak VIEW DEFINITIONSales peran server ke Auditors peran server.

USE master;  
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO   

Lihat Juga

sys.server_principals (T-SQL)
sys.server_permissions (T-SQL)
IZIN Utama Server GRANT (Transact-SQL)
MENCABUT Izin Utama Server (Transact-SQL)
CREATE LOGIN (Transact-SQL)
Prinsipal (Mesin Database)
Izin (Mesin Database)
Fungsi Keamanan (T-SQL)
Prosedur Tersimpan Keamanan (Transact-SQL)