Nesne izinleri (Transact-sql) deny
Securables nesne sınıfı üyesi izinlerini reddeder. object sınıfının üyeleri şunlardır: tabloları, gösterim, tablo değerli işlevler, saklı yordamlar, genişletilmiş saklı yordamları, skalar işlevleri, toplama işlevleri, hizmet kuyrukları ve eş anlamlı.
Transact-SQL Sözdizim Kuralları
Sözdizimi
DENY <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<permission> ::=
ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]
<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
Bağımsız değişkenler
permission
Şema içerdiği bir nesne üzerinde engellendi izni belirler. İzinler listesi için bu konunun ilerleyen bölümlerinde açıklamalar bölümüne bakın.ALL
Tüm inkar tüm olası izinleri reddetmek değil. Tüm inkar, belirtilen nesne geçerli tüm ANSI-92 izinleri inkar eşdeğerdir. TÜM anlamını aşağıdaki gibi değişir:Skalar fonksiyon izinleri: yürütme, referanslar.
Tablo değerli işlev izinleri: delete, INSERT, başvurular, select, update.
Saklı yordam izinleri: yürütün.
Tablo izinleri: delete, INSERT, başvurular, select, update.
Görüntüleme izinleri: delete, INSERT, başvurular, select, update.
AYRICALIKLAR
ANSI-92 uyumluluğu için dahil. TÜM davranışını değiştirmez.column
Bir sütunun adını, tablo, görünüm veya tablo değerli işlev izni engellenmesini belirtir. Parantezler () gereklidir. Bir sütun yalnızca seçim, referanslar ve güncelleştirme izinleri engellenebilir. columnizinleri yan tümcesi içinde ya da güvenilir adından sonra belirtilebilir.Dikkat Bir tablo düzeyi deny sütun düzeyinde vermek öncelikli değildir. Geriye doğru uyumluluk için izinleri hiyerarşisindeki bu tutarsızlık korunmuştur.
ON [ OBJECT :: ] schema_name**.** object_name
Nesnesi üzerinde izni engellenmesini belirtir. NESNEYİ ifade isteğe bağlı olmadığını schema_namebelirtilen. NESNEYİ ifade kullanılmış ise kapsam niteleyicisi (:) gereklidir. Eğer schema_namebelirtilmemişse, varsayılan şemayı kullanılır. Eğer schema_nameBelirtilen şema kapsam niteleyicisi (.) gereklidir.İÇİN <database_principal>
Sorumlusunun izni engellenmesini belirtir.ART ARDA SIRALI
Diğer ilkeleri için bu asıl adı verilen da engellenmesini izni engellendi gösterir.as <database_principal>
Içinden bu sorguyu yürüttükten sorumlusunun izni reddetme hakkı türetir asıl adı belirtir.Database_user
Veritabanı kullanıcı belirtir.Database_role
Veritabanı rolü belirtir.Application_role
Uygulama rolü belirtir.Database_user_mapped_to_Windows_User
Bir Windows kullanıcısı eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_Windows_Group
Bir Windows grubu eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_certificate
Sertifika eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_asymmetric_key
Bir asimetrik anahtar eşlenen veritabanı kullanıcı belirtir.Database_user_with_no_login
Veritabanı kullanıcı ile ilgili hiçbir sunucu düzeyinde asıl adı belirtir.
Açıklamalar
Nesneler hakkında bilgi çeşitli katalog görünümlerinde görülebilir. Daha fazla bilgi için, bkz. Nesne Kataloğu görünümleri (Transact-sql).
Bir şema izinleri hiyerarşisindeki alt üst olan şema tarafından bulunan düzey güvenilir bir nesnedir. Bir nesne üzerinde engellendi en belirli ve sınırlı izinleri tarafından implication dahil daha genel izinleri ile birlikte aşağıdaki tabloda listelenir.
Nesne izni |
Nesne izni tarafından açık |
Şema izni tarafından açık |
---|---|---|
ALTER |
DENETİM |
ALTER |
DENETİM |
DENETİM |
DENETİM |
DELETE |
DENETİM |
DELETE |
YÜRÜTME |
DENETİM |
YÜRÜTME |
EKLE |
DENETİM |
EKLE |
RECEIVE |
DENETİM |
DENETİM |
REFERANSLAR |
DENETİM |
REFERANSLAR |
SEÇİN |
RECEIVE |
SEÇİN |
SAHİPLİK AL |
DENETİM |
DENETİM |
GÜNCELLEŞTİRME |
DENETİM |
GÜNCELLEŞTİRME |
GÖRÜNÜMÜ DEĞİŞTİR İZLEME |
DENETİM |
GÖRÜNÜMÜ DEĞİŞTİR İZLEME |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
İzinler
Nesne üzerinde DENETIM izni gerektirir.
as yan tümcesi kullanırsanız, belirtilen sorumlusunun nesnesi üzerinde izni reddedilen sahip olmalıdır.
Örnekler
A.Bir tablo üzerinde select izni reddetme
Aşağıdaki örnek SELECTizni ver RosaQdMmasa Person.Addressde AdventureWorks2012veritabanı.
USE AdventureWorks2012;
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
USE AdventureWorks2012;
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B.Saklı yordam üzerinde execute izni reddetme
Aşağıdaki örnek EXECUTEsaklı yordam HumanResources.uspUpdateEmployeeHireInfoadı verilen bir uygulama rol Recruiting11.
USE AdventureWorks2012;
DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
USE AdventureWorks2012;
DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C.Görünümüyle başvurular iznini reddetme
Aşağıdaki örnek REFERENCESizin sütunu BusinessEntityIDgörünümünde HumanResources.vEmployeekullanıcıya Wanidaile CASCADE.
USE AdventureWorks2012;
DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida CASCADE;
GO
USE AdventureWorks2012;
DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida CASCADE;
GO
Ayrıca bkz.
Başvuru
revoke nesne izinleri (Transact-sql)
Nesne Kataloğu görünümleri (Transact-sql)
sys.fn_builtin_permissionsilişkili (Transact-sql)
has_perms_by_name (Transact-sql)
sys.fn_my_permissions (Transact-sql)
Kavramlar
Izinler (veritabanı altyapısı)