Nesne IZINLERI (Transact-SQL)
Bir tablo, görünüm, tablo değerli işlev, saklı yordam, genişletilmiş saklı yordam, skaler fonksiyon, toplamak işlev, hizmet sıra veya veri türünün eşanlamlısı izinleri verir.
GRANT <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ 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
Izin verilebilecek şema içeren bir nesne üzerinde belirtir.Izinler listesi için bu konunun ilerleyen bölümlerindeki Açıklamalar bölümüne bakın.ALL
ALL verme tüm olası izinleri değil.ALL izni verme, tüm verme eşdeğerdir ANSI-Belirtilen nesne için uygun izinleri 92. ALL anlamı aşağıdaki gibi değişir:skaler işlev izinler: yürütmek, BAŞVURUYOR.
tablo değerli işlev izinleri: SEÇ, SİLME, EKLEME, BAŞVURULARI GÜNCELLEŞTİRİN.
saklı yordam izinleri: YÜRÜTÜN.
Tablo izinleri: SEÇ, SİLME, EKLEME, BAŞVURULARI GÜNCELLEŞTİRİN.
Izinleri görüntüleme: SEÇ, SİLME, EKLEME, BAŞVURULARI GÜNCELLEŞTİRİN.
AYRICALIĞI
Için dahil ANSI-92 uyumluluğu. ALL davranışı değiştirmez.column
sütun adını, tablo, görünüm veya tablo değerli işlev üzerinde izin verilen belirtir.Ayraçlar ( ) gereklidir.Only SELECT, REFERENCES, and UPDATE permissions can be granted on a column.column can be specified in the permissions clause or after the securable name.Uyarı
Bir tablo düzey DENY, bir sütun düzey GRANT üzerinde öncelik almaz.Geriye dönük uyumluluk için korunur izinler hiyerarşisindeki Bu tutarsızlık.
OBJECT ON**::** ] [ schema_name ] . object_name
Üzerinde izin verilen nesneyi belirtir.OBJECT tümcecik isteğe bağlıdır, schema_name belirtildi. OBJECT tümcecik kullanılırsa, kapsam niteleyici (::) gereklidir.If schema_name belirtilmemişse, varsayılan şemayı kullanılır. If schema_name Belirtilen şema kapsam niteleyici (. ) gereklidir.> < Database_principal
Kendisi için izin verilen anapara belirtir.grant SEÇENEĞİYLE
Diğer ilkeleri için belirtilmiş izni verme yeteneğini de verilecek anapara gösterir.< Database_principal > AS
Bu sorguyu yürüttükten sorumlusunun izni vermek için sağ türetir içinden bir sorumlusu belirtir.Database_user
Bir veritabanı kullanıcısı belirtir.Database_role
Bir veritabanı rolü belirtir.Application_role
uygulama rolü belirtir.Database_user_mapped_to_Windows_User
Bir Windows kullanıcısı için eşlenen bir veritabanı kullanıcısı belirtir.Database_user_mapped_to_Windows_Group
Bir Windows grubuna eşlenen bir veritabanı kullanıcısı belirtir.Database_user_mapped_to_certificate
Eşlenmiş bir veritabanı kullanıcısı belirtir bir sertifika.Database_user_mapped_to_asymmetric_key
Bir asimetrik anahtar eşlenen bir veritabanı kullanıcısı belirtir.Database_user_with_no_login
Bir veritabanı kullanıcısı yok karşılık gelen sunucu-ile belirtir düzey asıl.
Remarks
Important Note: |
---|
Bazı durumlarda, ALTER ve REFERENCE izinlerin BIR birleşimini grantee, veri görüntülemek veya yetkisiz bir işlevi yürütmek izin verebilir.Örneğin: ALTER iznine sahip BIR kullanıcı bir tablo ve bir işlev REFERENCE iznine bir işlev hesaplanan bir sütun oluşturmak ve bunu yürütülen sağlayabilirsiniz. Bu durumda kullanıcı, hesaplanan sütun SELECT izni de gerekir. |
Nesnelere ilişkin bilgileri katalog çeşitli görünümlerde görülebilir.Daha fazla bilgi için bkz:Nesne katalog görünümleri (Transact-SQL).
Bir şema izinleri sıradüzeni içindeki üst olan şema tarafından bulunan düzeyinde güvenliği sağlanabilir bir nesnedir.Bir nesne üzerinde verilebilecek en özel ve sınırlı izinleri aşağıdaki listelenen tablo, bunları implication tarafından içeren daha genel izinlerle birlikte.
Nesne izni |
Nesne izni tarafından örtük |
Şema izinleri tarafından örtük |
---|---|---|
DEĞİŞTİRME |
DENETİMİ |
DEĞİŞTİRME |
DENETİMİ |
DENETİMİ |
DENETİMİ |
SİLME |
DENETİMİ |
SİLME |
yürütmek |
DENETİMİ |
yürütmek |
EKLEME |
DENETİMİ |
EKLEME |
ALMA |
DENETİMİ |
DENETİMİ |
BAŞVURULARI |
DENETİMİ |
BAŞVURULARI |
SEÇİN |
ALMA |
SEÇİN |
SAHİPLİĞİ ALMA |
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 |
GÖRÜNÜM TANIMI |
DENETİMİ |
GÖRÜNÜM TANIMI |
İzinler
The grantor (veya anapara AS seçeneği ile belirtilen) izniyle kendisini GRANT OPTION veya izninin verilmiş anlamına gelir, daha yüksek bir izin olması gerekir.
AS seçeneğini kullanıyorsanız, aşağıdaki ek koşulları uygulanır.
OLARAK |
Ek izin gerekli |
---|---|
Veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Windows oturumu açma için eşlenen veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Bir Windows grubu eşlenen veritabanı kullanıcısı |
Windows Grup, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin üyelik üyelikleri sabit sunucu rolü. |
Bir sertifikayla eşleştirilmiş olan veritabanı kullanıcısı |
The db_securityadmin üyelik veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sabit. |
Bir asimetrik anahtar eşlenen veritabanı kullanıcısı |
The db_securityadmin üyelik veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sabit. |
Herhangi bir sunucu sorumlusu için eşlenen veritabanı kullanıcısı |
Kullanıcı özelliklerini AL iznine, the db_securityadmin üyelik sabit veritabanı rolü, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği sağlar. |
Veritabanı rolü |
Rolü, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği izni ALTER. |
Uygulama rolü |
Rolü, db_securityadmin sabit veritabanı rolü üyeliği, üyelik db_owner sabit veritabanı rolü veya sysadmin sabit sunucu rolü üyeliği izni ALTER. |
Örnekler
C.Üzerinde SELECT izni vererek bir tablo
Aşağıdaki örnek verir SELECT izni RosaQdM Tablo Person.Address içinde AdventureWorks Veritabanı.
USE AdventureWorks;
GRANT SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
b.saklı yordam üzerinde yürütmek izni verme
Aşağıdaki örnek verir EXECUTE saklı yordam izni HumanResources.uspUpdateEmployeeHireInfo bir uygulama role denir. Recruiting11.
USE AdventureWorks;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
c.GRANT OPTION bir görünümle BAşVURULAR izni verme
Aşağıdaki örnek verir REFERENCES sütun izni EmployeeID görünümü HumanResources.vEmployee kullanıcı için Wanida With GRANT OPTION.
USE AdventureWorks;
GRANT REFERENCES (EmployeeID) ON OBJECT::HumanResources.vEmployee
TO Wanida WITH GRANT OPTION;
GO
d.Üzerinde SELECT izni vererek bir tablo OBJECT tümcecik kullanmadan
Aşağıdaki örnek verir SELECT izni RosaQdM Tablo Person.Address içinde AdventureWorks Veritabanı.
USE AdventureWorks;
GRANT SELECT ON Person.Address TO RosaQdM;
GO
e.Bir etki alanı hesabının bir tabloya SELECT izni verme
Aşağıdaki örnek verir SELECT izni AdventureWorks\RosaQdM Tablo Person.Address içinde AdventureWorks Veritabanı.
USE AdventureWorks;
GRANT SELECT ON Person.Address TO [AdventureWorks\RosaQdM];
GO
f.Bir role bir yordam üzerinde yürütmek izni verme
Aşağıdaki örnek, bir role oluşturur ve sonra verir. EXECUTE yordamın içindeki rolü izni uspGetBillOfMaterials içinde AdventureWorks Veritabanı.
USE AdventureWorks;
CREATE ROLE newrole ;
GRANT EXECUTE ON dbo.uspGetBillOfMaterials TO newrole ;
GO
Değişiklik Geçmişi
Güncelleştirilmiş içerik |
---|
VIEW, DEĞIŞIKLIK IZLEME örtülü izin düzeltildi. |
Eklenen örnek E ve f |
See Also