Şema IZINLERI (Transact-sql)
Bir şema izinleri verir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
GRANT permission [ ,...n ] ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Bağımsız değişkenler
permission
Bir izin verilebilen bir şema belirtir. İzinler listesi için bu konunun ilerleyen bölümlerinde açıklamalar bölümüne bakın.on schema : şema_name
İzin verilen şema belirtir. Kapsam eleme : gereklidir.database_principal
İzin verilen asıl adı belirtir. Aşağıdakilerden biri:Veritabanı kullanıcı
veritabanı rolü
uygulama rolü
bir Windows oturumu açma eşlenen veritabanı kullanıcı
bir Windows grubu eşlenen veritabanı kullanıcı
Sertifika eşlenen veritabanı kullanıcı
bir asimetrik anahtar eşlenen veritabanı kullanıcı
bir sunucu asıl adı eşlenen veritabanı kullanıcı.
VERME SEÇENEĞİ
Asıl adı da diğer ilkeleri belirtilen izni olanağı verilecektir gösterir.OLARAKgranting_principal
Bu sorguyu yürüttükten sorumlusunun izni vermek için kendi sağ türetir içinden asıl adı belirtir. Aşağıdakilerden biri:Veritabanı kullanıcı
veritabanı rolü
uygulama rolü
bir Windows oturumu açma eşlenen veritabanı kullanıcı
bir Windows grubu eşlenen veritabanı kullanıcı
Sertifika eşlenen veritabanı kullanıcı
bir asimetrik anahtar eşlenen veritabanı kullanıcı
bir sunucu asıl adı eşlenen veritabanı kullanıcı.
Açıklamalar
![]() |
---|
Bazı durumlarda alter ve referans izinleri birleşimi grantee veri görüntülemek veya yetkisiz işlevler yürütmek izin verebilir. Örneğin: tablo üzerinde alter izni ve işlev başvuru izni olan bir kullanıcı bir işlev hesaplanmış bir sütun oluşturabilir ve bu idam. Bu durumda, kullanıcı da hesaplanmış bir sütun üzerinde select izni olmalıdır. |
Bir veritabanı izinleri hiyerarşideki üst olan veritabanı tarafından bulunan düzeyinde güvenilir bir şemadır. Bir şema verilebilecek en belirli ve sınırlı izinleri tarafından implication dahil daha genel izinleri ile birlikte aşağıda listelenir.
Şema izni |
Şema izni tarafından açık |
Veritabanı izni tarafından açık |
---|---|---|
ALTER |
DENETİM |
HERHANGİ BİR ŞEMA ALTER |
DENETİM |
DENETİM |
DENETİM |
SIRA OLUŞTURMA |
ALTER |
HERHANGİ BİR ŞEMA ALTER |
DELETE |
DENETİM |
DELETE |
YÜRÜTME |
DENETİM |
YÜRÜTME |
EKLE |
DENETİM |
EKLE |
REFERANSLAR |
DENETİM |
REFERANSLAR |
SEÇİN |
DENETİM |
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 |
DENETİM |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
![]() |
---|
Bir şema alter izni olan bir kullanıcı için kullanıcının açıkça erişim engellendi securables dahil diğer şemalardaki securables erişmek için zincirleme sahipliği kullanabilirsiniz. Bunun nedeni, onlar için nesneler sahibi anapara ait olan başvurulan nesneler üzerinde atlar izinleri zincirleme sahipliği denetler. Bir şema alter izni olan bir kullanıcı, yordamlar, eşanlamlılar ve şema'nın sahibi tarafından sahibi olduğu görünümler oluşturabilirsiniz. Bu nesneler (via sahipliği zincir) şema'nın sahibi tarafından sahip olunan diğer şemalardaki bilgilere erişebilir. Mümkün olduğunda, şema'nın sahibi de başka şemalar sahipse bir şema alter izni verme kaçınmalısınız. |
Örneğin, bu sorun aşağıdaki senaryolarda oluşabilir. Bu senaryolar, U1 adlandırılan bir kullanıcı S1 şema üzerinde alter iznine sahip olduğunu varsayalım. U1 kullanıcının, S2 şemada T1 adlandırılan bir tablo nesnesine erişmek için reddedildi. Şema S1 ve S2 şema tarafından aynı sahibine aittir.
U1 kullanıcının veritabanı create procedure izni ve S1 şema üzerinde execute izni vardır. Bu nedenle, U1 kullanıcı, saklı bir yordam oluşturmak ve saklı yordam reddedilen T1 nesnesinde erişmek.
U1 kullanıcının veritabanı create synonym izni ve S1 şema select izni vardır. Bu nedenle, U1 kullanıcı, reddedilen nesnenin T1 S1 şemada eşanlamlısı oluşturmak ve sonra reddedilen nesne T1 eşanlamlı kullanarak erişebilirler.
U1 kullanıcının veritabanı create VIEW izni ve S1 şema select izni vardır. Bu nedenle, U1 kullanıcı görünüm S1 şema verileri engellenen nesneden T1 oluşturun ve sonra reddedilen nesne T1 görünümünü kullanarak erişim.
Daha fazla bilgi için bkz: Microsoft Bilgi Bankası makalesi numarası 914847.
İzinler
Grantor (veya as seçeneği ile belirtilen anapara) OPTION izni kendisini ya da verilen izni da anlaşılacağı daha yüksek bir izin olması gerekir.
as seçeneği kullanılarak, bu ek gereksinimler Uygula.
OLARAKgranting_principal |
Ek izin gerekli |
---|---|
Veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Bir Windows oturumu açma eşlenen veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Bir Windows grubu eşlenen veritabanı kullanıcı |
Windows Grup üyeliği üyelik db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Sertifika eşlenen veritabanı kullanıcı |
Üyelik db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Bir asimetrik anahtar eşlenen veritabanı kullanıcı |
Üyelik db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Herhangi bir sunucu asıl adı eşlenen veritabanı kullanıcı |
Kullanıcı, üyelik özelliklerini Al izni db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Veritabanı rolü |
Rol üyeliği alter izni db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Uygulama rolü |
Rol üyeliği alter izni db_securityadminsabit veritabanı rolü, üyelik db_ownersabit veritabanı rolü veya üyelik sysadminsunucu rolü. |
Nesne sahipleri sahip oldukları nesnelerle ilgili izinler verebilirsiniz. Sorumluları ile güvenilir bir kutu üzerinde DENETIM izni üzerinde izin verme Bu güvenlik altına alınabilir.
Hibe üyeleri gibi control server izni sysadminsabit sunucu rolü, herhangi bir izni vermek güvenilir sunucu. Üyeleri gibi bir veritabanı üzerinde DENETIM izni hibe db_ownersabit veritabanı rolü, herhangi bir izni vermek güvenilir veritabanı. Şema control izni hibe şema içindeki herhangi bir nesneyi herhangi bir izni verebilirsiniz.
Örnekler
A.Konuk için şema HumanResources INSERT izni verme
GRANT INSERT ON SCHEMA :: HumanResources TO guest;
GRANT INSERT ON SCHEMA :: HumanResources TO guest;
B.Veritabanı kullanıcı WilJo şema kişi üzerinde select izni verme
GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;
GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;
Ayrıca bkz.
Başvuru
Şeması izinleri (Transact-sql) deny
revoke şeması izinleri (Transact-sql)
SERTIFIKASı (Transact-sql) oluştur
ASİMETRİK anahtar (Transact-sql) oluştur
UYGULAMA rolü (Transact-sql) oluşturma
sys.fn_builtin_permissionsilişkili (Transact-sql)
sys.fn_my_permissions (Transact-sql)
has_perms_by_name (Transact-sql)
Kavramlar
Izinler (veritabanı altyapısı)