DENY Sunucu İzinleri (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Bir sunucu üzerindeki izinleri reddeder.

Transact-SQL söz dizimi kuralları

Sözdizimi

DENY permission [ ,...n ]   
    TO <grantee_principal> [ ,...n ]  
    [ CASCADE ]  
    [ AS <grantor_principal> ]   
  
<grantee_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  
  
<grantor_principal> ::= SQL_Server_login   
    | SQL_Server_login_mapped_to_Windows_login  
    | SQL_Server_login_mapped_to_Windows_group  
    | SQL_Server_login_mapped_to_certificate  
    | SQL_Server_login_mapped_to_asymmetric_key  
    | server_role  

Bağımsız değişken

izin
Sunucuda reddedilebilen bir izin belirtir. İzinlerin listesi için bu konunun devamındaki Açıklamalar bölümüne bakın.

ÇAĞLAYAN
Belirtilen sorumluya ve sorumlunun izin verdiği diğer tüm sorumlulara iznin reddedildiğini gösterir. Müdür OPTION ile izni GRANT varsa gereklidir.

TO <server_principal>
İznin reddedildiği sorumluyu belirtir.

AS <grantor_principal>
Bu sorguyu yürüten sorumlunun izni reddetme hakkını türetdiği sorumluyu belirtir. İzin reddedicisi olarak kaydedilen sorumlunun deyimini yürüten kişiden başka bir sorumlu olması gerektiğini belirtmek için AS asıl yan tümcesini kullanın. Örneğin, Mary kullanıcı principal_id 12 ve Raul kullanıcı asıl 15 olduğunu varsayın. Mary DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; yürütür Şimdi sys.database_permissions tablosu, deyimi 13 (Mary) kullanıcısı tarafından gerçekleştirilmiş olsa bile reddetme deyiminin grantor_principal_id 15 (Raul) olduğunu gösterir.

Bu deyimde AS kullanılması, başka bir kullanıcının kimliğine bürünme yeteneği anlamına gelmez.

SQL_Server_login
SQL Server oturum açma bilgilerini belirtir.

SQL_Server_login_mapped_to_Windows_login
Windows oturum açma bilgileriyle eşlenmiş bir SQL Server oturum açma bilgilerini belirtir.

SQL_Server_login_mapped_to_Windows_group
Bir Windows grubuna eşlenmiş bir SQL Server oturum açma bilgilerini belirtir.

SQL_Server_login_mapped_to_certificate
Sertifikayla eşlenmiş bir SQL Server oturum açma bilgilerini belirtir.

SQL_Server_login_mapped_to_asymmetric_key
Asimetrik anahtara eşlenmiş bir SQL Server oturum açma bilgilerini belirtir.

server_role
Bir sunucu rolü belirtir.

Açıklamalar

Sunucu kapsamındaki izinler yalnızca geçerli veritabanı ana veritabanı olduğunda reddedilebilir.

Sunucu izinleri hakkındaki bilgiler sys.server_permissions katalog görünümünde ve sunucu sorumluları hakkındaki bilgiler sys.server_principals katalog görünümünde görüntülenebilir. Sunucu rollerinin üyeliği hakkındaki bilgiler sys.server_role_members katalog görünümünde görüntülenebilir.

Sunucu, izin hiyerarşisinin en yüksek düzeyidir. Bir sunucuda reddedilebilen en özel ve sınırlı izinler aşağıdaki tabloda listelenmiştir.

Sunucu izni Sunucu izniyle örtülü
TOPLU İŞLEMLERI YÖNETME KONTROL SUNUCUSU
HERHANGI BIR AVAILABILITY GROUP DEĞIŞTIRME

için geçerlidir: SQL Server (SQL Server 2012 (11.x) ile geçerli sürüm).
KONTROL SUNUCUSU
TÜM BAĞLANTıLARı DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR CREDENTIAL DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR DATABASE DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR ENDPOINT DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR EVENT NOTIFICATION DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR EVENT SESSION DEĞIŞTIRME KONTROL SUNUCUSU
TÜM BAĞLı SUNUCULARı DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR LOGIN DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR SERVER AUDIT DEĞIŞTIRME KONTROL SUNUCUSU
HERHANGI BIR SERVER ROLE DEĞIŞTIRME

için geçerlidir: SQL Server (SQL Server 2012 (11.x) ile geçerli sürüm).
KONTROL SUNUCUSU
KAYNAKLARı DEĞIŞTIRME KONTROL SUNUCUSU
SUNUCU DURUMUNU DEĞİŞTİR KONTROL SUNUCUSU
AYARLARı DEĞIŞTIRME KONTROL SUNUCUSU
ALTER İZİ KONTROL SUNUCUSU
SUNUCUNUN KIMLIĞINI DOĞRULAMA KONTROL SUNUCUSU
HERHANGİ BİrİNE BAĞLANIN DATABASE

için geçerlidir: SQL Server (SQL Server 2014 (12.x) ile geçerli sürüm).
KONTROL SUNUCUSU
SQL'I BAĞLAMA KONTROL SUNUCUSU
KONTROL SUNUCUSU KONTROL SUNUCUSU
HERHANGİ Bİrİ OLUŞTURUN DATABASE HERHANGI BIR DATABASE DEĞIŞTIRME
CREATE AVAILABILITY GROUP

için geçerlidir: SQL Server (SQL Server 2012 (11.x) ile geçerli sürüm).
HERHANGI BIR AVAILABILITY GROUP DEĞIŞTIRME
DDL OLUŞTUR EVENT NOTIFICATION HERHANGI BIR EVENT NOTIFICATION DEĞIŞTIRME
CREATE ENDPOINT HERHANGI BIR ENDPOINT DEĞIŞTIRME
CREATE SERVER ROLE

için geçerlidir: SQL Server (SQL Server 2012 (11.x) ile geçerli sürüm).
HERHANGI BIR SERVER ROLE DEĞIŞTIRME
İZLEME OLUŞTURMA EVENT NOTIFICATION HERHANGI BIR EVENT NOTIFICATION DEĞIŞTIRME
DıŞ ERIŞIM ASSEMBLY KONTROL SUNUCUSU
HERHANGI BIR KIMLIĞINE BÜRÜN LOGIN

için geçerlidir: SQL Server (SQL Server 2014 (12.x) ile geçerli sürüm).
KONTROL SUNUCUSU
TÜM USER GÜVENLI HALE GETIRILEBILIR ÖĞELER'I SEÇIN

için geçerlidir: SQL Server (SQL Server 2014 (12.x) ile geçerli sürüm).
KONTROL SUNUCUSU
KAPATMA KONTROL SUNUCUSU
GÜVENSİz ASSEMBLY KONTROL SUNUCUSU
VIEW HERHANGİ Bİrİ DATABASE VIEW TÜM TANIMLAR
VIEW TÜM TANIMLAR KONTROL SUNUCUSU
VIEW TÜM PERFORMANS TANıMLARı

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW TÜM TANIMLAR
VIEW TÜM GÜVENLIK TANıMLARı

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW TÜM TANIMLAR
VIEW SUNUCU PERFORMANS DURUMU

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW SUNUCU DURUMU
VIEW SUNUCU GÜVENLIK DURUMU

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW SUNUCU DURUMU
VIEW SUNUCU DURUMU SUNUCU DURUMUNU DEĞİŞTİR

SQL Server 2014'te (12.x) aşağıdaki üç sunucu izni eklendi.

BAĞLA DATABASE İzin
CONNECT ANY'yeDATABASE, mevcut tüm veritabanlarına ve gelecekte oluşturulabilecek yeni veritabanlarına bağlanması gereken bir giriş girişine izin verin. Hiçbir veritabanında bağlanma dışında hiçbir izin vermez. SELECT ALL USER SECURABLES veya VIEW SERVER STATE ile birleştirerek denetim sürecinin SQL Server örneğindeki tüm verileri veya tüm veritabanı durumlarını görmesini sağlar.

HERHANGI BIRINI LOGINTAKLIT ETMEK İzin
Verildiğinde, bir orta katman işleminin veritabanlarına bağlanırken ona bağlanan istemcilerin hesabının kimliğine bürünmesini sağlar. Reddedildiğinde, yüksek ayrıcalıklı oturum açma bilgilerinin diğer oturum açma bilgilerinin kimliğine bürünme engellenebilir. Örneğin, CONTROL SERVER iznine sahip bir oturum açmanın diğer oturum açma bilgilerinin kimliğine bürünme engellenebilir.

HEPSİNİ USER SEÇ SECURABLES İzni
Onay verildiğinde, denetçi gibi bir oturum açma bilgileri kullanıcının bağlanabileceği tüm veritabanlarındaki verileri görüntüleyebilir. Reddedildiğinde, sys şemasında yer almadıkları sürece nesnelere erişimi engeller.

İzinler

CONTROL SERVER izni veya güvenli hale getirilebilir sahipliğini gerektirir. AS yan tümcesini kullanırsanız, belirtilen sorumlu izinleri reddedilen güvenli hale getirilebilir sahip olmalıdır.

Örnekler

A. SQL Server oturum açma bilgilerine ve oturum açmanın kayıt defterine aldığı sorumlulara CONNECT SQL iznini reddetme

Aşağıdaki örnek, SQL Server oturum açma CONNECT SQL ve izin verdiği sorumlular için Annika iznini reddeder.

USE master;  
DENY CONNECT SQL TO Annika CASCADE;  
GO  

B. AS seçeneğiyle SQL Server girişine izin verme reddedilmesi CREATE ENDPOINT

Aşağıdaki örnek, kullanıcı CREATE ENDPOINTArifS iznini reddeder. Örnek, AS seçeneğini kullanarak MandarP yürüten sorumlunun bunu yapma yetkisini türetdiği sorumlu olarak belirtir.

USE master;  
DENY CREATE ENDPOINT TO ArifS AS MandarP;  
GO  

Ayrıca Bkz.

GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Sunucu İzinleri (Transact-SQL)
REVOKE Sunucu İzinleri (Transact-SQL)
İzin Hiyerarşisi (Veritabanı Altyapısı)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)