Aracılığıyla paylaş


Sistem nesne izinleri (Transact-sql) deny

Saklı yordamlar, genişletilmiş saklı yordamları, işlevleri ve görünümler gibi sistem nesnelerinin izinlerini reddeder.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

DENY { SELECT | EXECUTE } ON [ sys.]system_object TO principal 

Bağımsız değişkenler

  • sys.
    Sys yalnızca katalog görünümler ve dinamik yönetimi görünümleri kapasitelerinde niteleyicisi gereklidir.

  • system_object
    Nesnesi üzerinde izni engellenmesini belirtir.

  • principal
    Içinden iznini iptal asıl adı belirtir.

Açıklamalar

Bu deyimi belirli ait saklı yordamlar, genişletilmiş saklı yordamlar, tablo değerli işlevler, skalar işlevleri, gösterim, katalog görünümleri, uyumluluk görünümleri, INFORMATION_SCHEMA Gösterim, dinamik yönetimi görünümleri ve tarafından yüklenen sistem tabloları üzerinde izinleri deny için kullanılabilir SQL Server. Bu sistem nesnelerden her biri benzersiz bir kayıt kaynak veritabanı olarak bulunmaktadır (mssqlsystemresource). Kaynak veritabanı salt okunur. Nesneye bağlantı kayıt olarak maruz sys her veritabanı şeması.

Varsayılan ad çözümlemesi, kaynak veritabanı için vasıfsız yordamı adlarını çözümler. Bu nedenle, sys Elemesi ise yalnızca katalog görünümler ve dinamik yönetimi görünümleri belirtirken gerekli.

Dikkat notuDikkat

Sistem nesnelerine izin vermeyerek onları başarısız olmasına bağlı uygulamalar neden olur. SQL Server Management StudioKatalog görünümleri ve Katalog görünümler varsayılan izinlerini değiştirirseniz, beklendiği gibi çalışmayabilir.

Tetikleyiciler ve sütunları sistem nesnelerinin izinlerini reddetme desteklenmiyor.

Sistem nesnelerinde izinleri yükseltme sırasında korunmuş SQL Server.

Sistem nesneleri görünür görülebilirsys.system_objectsKatalog Katalog görünümü. Sistem nesneleri izinlerini görünür sys.database_permissions katalog görünümünde ana veritabanı.

Aşağıdaki sorgu sistem nesneleri izinleri hakkında bilgi verir:

SELECT * FROM master.sys.database_permissions AS dp 
    JOIN sys.system_objects AS so
    ON dp.major_id = so.object_id
    WHERE dp.class = 1 AND so.parent_object_id = 0 ;
GO

SELECT * FROM master.sys.database_permissions AS dp 
    JOIN sys.system_objects AS so
    ON dp.major_id = so.object_id
    WHERE dp.class = 1 AND so.parent_object_id = 0 ;
GO

İzinler

control server izni gerektirir.

Örnekler

Aşağıdaki örnek EXECUTEizni xp_cmdshelliçin public.

DENY EXECUTE ON sys.xp_cmdshell TO public;
GO

DENY EXECUTE ON sys.xp_cmdshell TO public;
GO

Ayrıca bkz.

Başvuru

Transact-SQL Sözdizim Kuralları (Transact-SQL)

sys.database_permissions (Transact-sql)

Sistem nesnesi IZINLERI (Transact-sql)

Sistem nesne izinleri (Transact-sql) iptal