Nesne izinleri (Transact-SQL) deny
Güvenli Hale Getirilebilenler nesne sınıfının üye izinlerini reddeder.NESNE sınıfı üyeleri şunlardır: tablolar, görünümler, tablo-değerli işlevler, saklı yordamlar, genişletilmiş saklı yordamları, skaler işlevleri, toplu işlevleri, hizmet kuyrukları ve eşanlamlı.
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 nesnede engellenebilir iznini belirtir.İzinler listesi için bu bölümdeki açıklamalar bölümüne bakın.ALL
Tüm engelleme, tüm olası izinleri reddetmek değil.Tüm engelleme, belirtilen nesne için geçerli olan tüm ANSI-92 izinlerini reddetme için eşdeğerdir.Tüm anlamını aşağıdaki gibi değişir:Skalar işlev izinleri: YÜRÜTMEK, BAŞVURUYOR.
Tablo değerli işlev izinleri: DELETE, INSERT, BAŞVURULAR, SELECT, UPDATE.
Saklı yordam izinleri: YÜRÜTME.
Tablo izinleri: DELETE, INSERT, BAŞVURULAR, SELECT, UPDATE.
İzinleri görüntüleme: DELETE, INSERT, BAŞVURULAR, SELECT, UPDATE.
AYRICALIKLAR
ANSI-92 uyumluluğu için dahil.Tüm davranışını değiştirmez.column
Bir tablo, görünüm veya tablo sütun adını belirtir-değerli işlev üzerinde izin engellendi.Parantez () gereklidir.Bir sütunyalnızca seçim, başvurular ve güncelleştirme izinleri engellenebilir.columnizinleri yan tümce ya da güvenliği sağlanabilir adından sonra belirtilebilir.Dikkat tablo-düzey verme bir sütunüzerinde -düzey grant öncelikli değildir.Geriye doğru uyumluluk için izinleri hiyerarşisindeki bu tutarsızlık tutulduktan.
on [nesne : ] [ schema_name ] . object_name
İzin engellendi nesneyi belirtir.Nesne tümce isteğe bağlıdır, schema_name belirtilir.Nesne deyim kullanılırsa,niteleyici kapsam(:) gereklidir. schema_name Belirtilmezse, varsayılan şemayı kullanılır.schema_name Belirtilen şema kapsamniteleyici ( .) gereklidir.İÇİN <database_principal>
İzin verilmedi asıl adı belirtir.ART ARDA SIRALI
Engellenmesini izni de, onu bu sorumlusu tarafından verilmiş olan diğer sorumluları için reddedildiğini gösterir.as <database_principal>
Bu sorguyu yürüttükten sorumlusunun izni reddetme hakkı türetir içinden asıl adı belirtir.Database_user
Bir veritabanı kullanıcı belirtir.Database_role
veritabanı rolübelirtir.Application_role
Bir 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
Bir sertifikaeşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_asymmetric_key
Bir asimetrik anahtareşlenen veritabanı kullanıcı belirtir.Database_user_with_no_login
Hiçbir karşılık gelen sunucudüzey ile asıl veritabanı kullanıcı belirtir.
Açıklamalar
katalog görünümleriçeşitli nesneler hakkındaki bilgileri görülebilir.Daha fazla bilgi için, bkz. Nesne Kataloğu görünümleri (Transact-SQL).
Nesne izinleri sıradüzeni içindeki üst olan şema tarafından bulunan bir şema -düzey güvenliği sağlanabilir ' dir.Bir nesne üzerinde engellendi en belirli ve sınırlı izinleri, aşağıdaki tablo, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte listelenir.
Nesne izni |
Nesne izni tarafından örtülü |
Şema izni tarafından örtülü |
---|---|---|
ALTER |
DENETİM |
ALTER |
DENETİM |
DENETİM |
DENETİM |
SİL |
DENETİM |
SİL |
YÜRÜTME |
DENETİM |
YÜRÜTME |
EKLE |
DENETİM |
EKLE |
ALMA |
DENETİM |
DENETİM |
BAŞVURULAR |
DENETİM |
BAŞVURULAR |
SEÇİN |
ALMA |
SEÇİN |
SAHİPLİĞİ |
DENETİM |
DENETİM |
GÜNCELLEŞTİRME |
DENETİM |
GÜNCELLEŞTİRME |
GÖRÜNÜM DEĞİŞİKLİK İZLEME |
DENETİM |
GÖRÜNÜM DEĞİŞİKLİK İZLEME |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
İzinler
Denetim nesnesi izni gerektirir.
as yan tümcekullanırsanız, belirtilen sorumlusunun izni reddedilen nesne sahip olmalıdır.
Örnekler
A.tabloüzerinde select izni reddetme
Aşağıdaki örnek vermez SELECT izni ver RosaQdM tablo Person.Address , AdventureWorks2008R2 veritabanı.
USE AdventureWorks2008R2;
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B.saklı yordamüzerinde execute izni reddetme
Aşağıdaki örnek vermez EXECUTE saklı yordamizni HumanResources.uspUpdateEmployeeHireInfo bir uygulama rolü adı verilen Recruiting11.
USE AdventureWorks2008R2;
DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C.Art arda SIRALI görünümüyle başvurular iznini reddetme
Aşağıdaki örnek vermez REFERENCES izin sütun BusinessEntityID görünümünde HumanResources.vEmployee kullanıcı Wanida ile CASCADE.
USE AdventureWorks2008R2;
DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida CASCADE;
GO
Ayrıca bkz.