Aracılığıyla paylaş


Şema IZINLERI (Transact-sql)

Bir şema izinleri verir.

Konu bağlantısı simgesi 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

Önemli notÖnemli

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

Dikkat notuDikkat

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)

grant (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ı)

Sorumluları (veritabanı altyapısı)

Şifreleme hiyerarşisi