grant (Transact-sql)

İzinleri bir güvenlik altına alınabilir bir anapara verir. HİBE için genel bir kavramdır <bazı izni> on <bazı nesne> to <bazı kullanıcı, giriş ya da grup>. İzinler genel bir tartışma için bkz Izinler (veritabanı altyapısı).

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
      | permission [ ( column [ ,...n ] ) ] [ ,...n ]
      [ ON [ class :: ] securable ] TO principal [ ,...n ] 
      [ WITH GRANT OPTION ] [ AS principal ]

Bağımsız değişkenler

  • ALL
    Bu seçenek onaylanmaz ve yalnızca geriye dönük uyumluluk için korunur. Tüm olası izinleri vermez. TÜM verilmesi, aşağıdaki izinleri vermek için eşdeğerdir.

    • Güvenilir bir veritabanı, tüm demektir backup database, backup GNLK, create database, create default, create FUNCTION, create procedure, Kural Oluştur, create table ve create VIEW.

    • Güvenilir skalar fonksiyon ise, tüm demektir execute ve referanslar.

    • Güvenilir bir tablo değerli işlev ise, tüm anlamına gelir delete, INSERT, başvurular, select ve update.

    • Güvenilir bir saklı yordam değilse, tüm yürütme demektir.

    • Güvenilir bir tabloysa, tüm anlamına gelir delete, INSERT, başvurular, select ve update.

    • Güvenilir bir görünüm ise, tüm anlamına gelir delete, INSERT, başvurular, select ve update.

  • AYRICALIKLAR
    ISO uyumluluğu için dahil. TÜM davranışını değiştirmez.

  • permission
    Bir izni adıdır. Securables izinler geçerli eşleşmelerini MHT'lerin aşağıda açıklanmıştır.

  • column
    Üzerinde izinleri verilen bir tablodaki bir sütun adını belirtir. Parantezlerin () gereklidir.

  • class
    Güvenli hale getirilebilen üzerinde izin verilen sınıfını belirtir. Kapsam eleme : gereklidir.

  • securable
    Güvenli hale getirilebilen üzerinde izin verilen belirtir.

  • Hedefprincipal
    Asıl adı adıdır. Bir güvenlik altına alınabilir izinleri verilebilir sorumluları, güvenilir bağlı olarak değişir. Geçerli birleşimlerini için aşağıda listelenen MHT'lerin bakın.

  • VERME SEÇENEĞİ
    Grantee da diğer ilkeleri belirtilen izni olanağı verilecektir gösterir.

  • OLARAKprincipal
    Bu sorguyu yürüttükten sorumlusunun izni vermek için kendi sağ türetir içinden asıl adı belirtir.

Açıklamalar

grant deyimi tam sözdizimi karmaşık. Yukarıdaki sözdizimi Diyagram yapısını dikkat çekmek için Basitleştirilmiş. Belirli securables üzerinde izinleri verme için tam sözdizimi aşağıda listelenen konular açıklanmıştır.

revoke deyimi verilen izinleri kaldırmak için kullanılabilir ve deny deyimi asıl adı belirli bir izin vermek yoluyla kazanmasını önlemek için kullanılabilir.

Bir izni verme, reddetme veya revoke bu izni güvenli hale getirilebilen üzerinde belirtilen kaldırır. Güvenilir içeren bir üst kapsam aynı izin verilmezse, ENGELLE önceliklidir. Ancak daha yüksek bir kapsamında verilen izin iptal etme öncelikli değildir.

Veritabanı düzeyinde izinler, belirtilen veritabanı kapsam içinde verilir. Bir kullanıcı başka bir veritabanındaki nesneleri için izinleri gerekiyorsa, diğer veritabanında kullanıcı hesabı oluşturmak veya diğer veritabanı yanı sıra, geçerli veritabanı için kullanıcı hesabı erişim.

Dikkat notuDikkat

Bir tablo düzeyi deny sütun düzeyinde vermek öncelikli değildir. Bu tutarsızlık izinleri hiyerarşisindeki iyiliği için geriye dönük uyumluluk korunmuştur. Sonraki bir sürümde kaldırılacak.

sp_helprotectSistem saklı yordamını bir veritabanı düzeyi üzerinde güvenilir izinleri rapor.

GRANT SEÇENEĞİ İLE BİRLİKTE

The GRANT … WITH GRANT OPTIONgüvenlik sorumlusunun izni alma yeteneği diğer güvenlik hesaplarına belirtilen izni verilir belirler. Ne zaman izni aldığı asıl rol ya da bir Windows grubu ASyan tümcesi Nesne izni verilen grup veya rol üyesi olmayan kullanıcılar için daha fazla olması gerektiğinde kullanılmalıdır. Çünkü yalnızca bir kullanıcı, bir grup veya yerine rolü yürütebilirsiniz bir GRANTdeyimi, veya rolü belirli bir üyesi olmalıdır kullanmak ASrolü veya grup üyeliği izni verme zaman açıkça çağırmak için yan. Aşağıdaki örnekte gösterildiği nasıl WITH GRANT OPTIONbir rol veya Windows grubuna verilen kullanılır.

-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestMe TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestMe TO User2 AS TesterRole;

-- Execute the following as a database owner
GRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTION
EXEC sp_addrolemember TesterRole, User1;
-- Execute the following as User1
-- The following fails because User1 does not have the permission as the User1
GRANT EXECUTE ON TestMe TO User2;
-- The following succeeds because User1 invokes the TesterRole membership
GRANT EXECUTE ON TestMe TO User2 AS TesterRole;

SQL Server izinlerini grafik

Tüm posteri boyutlu grafik Veritabanı Altyapısıizinleri pdf formatında görmek https://go.microsoft.com/fwlink/?LinkId = 229142.

İ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ılıyorsa, ek gereksinimler Uygula. Güvenilir özgü bilgi için konusuna bakın.

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şağıdaki tabloda, securables ve güvenilir özgü sözdizimini açıklayan konuları listeler.

Uygulama rolü

grant veritabanı asıl izinler (Transact-sql)

Çevirme

Derleme IZINLERI (Transact-sql)

Asimetrik anahtar

Asimetrik anahtar izinler (Transact-sql)

Sertifika

Sertifika IZINLERI (Transact-sql)

Sözleşme

Service Broker izinler (Transact-sql)

Veritabanı

Veritabanı IZINLERI (Transact-sql)

Bitiş noktası

Endpoint IZINLERI (Transact-sql)

Tam metin kataloğu

grant Full-Text izinler (Transact-sql)

Tam metin Stoplist

grant Full-Text izinler (Transact-sql)

İşlev

Nesne IZINLERI (Transact-sql)

Oturum Aç

grant Server asıl izinler (Transact-sql)

İleti türü

Service Broker izinler (Transact-sql)

Nesne

Nesne IZINLERI (Transact-sql)

Sıra

Nesne IZINLERI (Transact-sql)

Uzak hizmet bağlama

Service Broker izinler (Transact-sql)

Role

grant veritabanı asıl izinler (Transact-sql)

Rota

Service Broker izinler (Transact-sql)

Şema

Şema IZINLERI (Transact-sql)

Arama özellik listesi

Arama özelliği liste IZINLERI (Transact-sql)

Sunucu

Server IZINLERI (Transact-sql)

Hizmet

Service Broker izinler (Transact-sql)

Saklı yordam

Nesne IZINLERI (Transact-sql)

Simetrik anahtar

Simetrik anahtar izinler (Transact-sql)

Eşanlamlı

Nesne IZINLERI (Transact-sql)

Sistem nesneleri

Sistem nesnesi IZINLERI (Transact-sql)

Tablo

Nesne IZINLERI (Transact-sql)

Tür

Tür IZINLERI (Transact-sql)

Kullanıcı

grant veritabanı asıl izinler (Transact-sql)

Görünüm

Nesne IZINLERI (Transact-sql)

xml şema koleksiyonu

xml Şeması derlemesi izinler (Transact-sql)

Ayrıca bkz.

Başvuru

DENY (Transact-sql)

revoke (Transact-sql)

sp_addlogin (Transact-sql)

sp_adduser (Transact-sql)

sp_changedbowner (Transact-sql)

sp_dropuser (Transact-sql)

Sp_helprotect (Transact-sql)

sp_helpuser (Transact-sql)