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ı).
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 |
---|
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ü |
|
Çevirme |
|
Asimetrik anahtar |
|
Sertifika |
|
Sözleşme |
|
Veritabanı |
|
Bitiş noktası |
|
Tam metin kataloğu |
|
Tam metin Stoplist |
|
İşlev |
|
Oturum Aç |
|
İleti türü |
|
Nesne |
|
Sıra |
|
Uzak hizmet bağlama |
|
Role |
|
Rota |
|
Şema |
|
Arama özellik listesi |
|
Sunucu |
|
Hizmet |
|
Saklı yordam |
|
Simetrik anahtar |
|
Eşanlamlı |
|
Sistem nesneleri |
|
Tablo |
|
Tür |
|
Kullanıcı |
|
Görünüm |
|
xml şema koleksiyonu |