Sistem nesne izinleri (Transact-sql) deny
Saklı yordamlar, genişletilmiş saklı yordamları, işlevleri ve görünümler gibi sistem nesnelerinin izinlerini reddeder.
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 |
---|
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)