grant veritabanı asıl izinler (Transact-sql)
Veritabanı kullanıcı, veritabanı rolü veya uygulama rolü izinleri verir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<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
Bir izin verilebilen veritabanı anapara belirtir. İzinler listesi için bu konunun ilerleyen bölümlerinde açıklamalar bölümüne bakın.USER ::database_user
İzin verilen kullanıcı adı ve sınıf belirtir. Kapsam niteleyicisi (:) gereklidir.ROLE ::database_role
Sınıf ve izin verilen rolün adını belirtir. Kapsam niteleyicisi (:) gereklidir.UYGULAMA rolü :application_role
Sınıf ve izin verilen uygulama rol adı belirtir. Kapsam niteleyicisi (:) gereklidir.GRANT SEÇENEĞİ İLE BİRLİKTE
Asıl adı da diğer ilkeleri belirtilen izni olanağı verilecektir gösterir.as <database_principal>
Bu sorguyu yürüttükten sorumlusunun izni vermek için kendi sağ türetir içinden asıl adı belirtir.Database_user
Veritabanı kullanıcı belirtir.Database_role
Veritabanı rolü belirtir.Application_role
Uygulama rolü belirtir.Database_user_mapped_to_Windows_User
Bir Windows kullanıcısı eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_Windows_Group
Bir Windows grubu eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_certificate
Sertifika eşlenen veritabanı kullanıcı belirtir.Database_user_mapped_to_asymmetric_key
Bir asimetrik anahtar eşlenen veritabanı kullanıcı belirtir.Database_user_with_no_login
Veritabanı kullanıcı ile ilgili hiçbir sunucu düzeyinde asıl adı belirtir.
Açıklamalar
Veritabanı sorumluları hakkında bilgi görünür sys.database_principals Katalog görünümü. Veritabanı düzeyinde izinler hakkında bilgi görünür sys.database_permissions Katalog görünümü.
Veritabanı kullanıcı izni
Kullanıcı bir veritabanı izinleri hiyerarşideki üst olan veritabanı tarafından bulunan düzeyinde güvenlik altına alınabilir olduğunu. Bir veritabanı kullanıcı verilebilecek en belirli ve sınırlı izinleri tarafından implication dahil daha genel izinleri ile birlikte aşağıdaki tabloda listelenir.
Veritabanı kullanıcı izni |
Veritabanı kullanıcı izni tarafından açık |
Veritabanı izni tarafından açık |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
TAKLİT |
DENETİM |
DENETİM |
ALTER |
DENETİM |
ALTER |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
Veritabanı rolü izinleri
Bir veritabanı izinleri hiyerarşideki üst olan veritabanı tarafından bulunan düzeyinde güvenilir bir veritabanı rolüdür. Bir veritabanı rolü verilebilecek en belirli ve sınırlı izinleri tarafından implication dahil daha genel izinleri ile birlikte aşağıdaki tabloda listelenir.
Veritabanı rolü izni |
Veritabanı rolü izni tarafından açık |
Veritabanı izni tarafından açık |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
SAHİPLİK AL |
DENETİM |
DENETİM |
ALTER |
DENETİM |
HERHANGİ BİR ROL DEĞİŞTİRME |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
Uygulama rolü izinleri
Bir uygulama rol bir veritabanı izinleri hiyerarşideki üst olan veritabanı tarafından bulunan düzeyinde güvenlik altına alınabilir olduğunu. Bir uygulama rol verilebilecek en belirli ve sınırlı izinleri tarafından implication dahil daha genel izinleri ile birlikte aşağıdaki listelenmiştir.
Uygulama rolü izni |
Uygulama rol izni tarafından açık |
Veritabanı izni tarafından açık |
---|---|---|
DENETİM |
DENETİM |
DENETİM |
ALTER |
DENETİM |
HERHANGİ BİR UYGULAMA ROLÜNÜ DEĞİŞTİRME |
VIEW DEFINITION |
DENETİM |
VIEW DEFINITION |
İ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ıyorsanız, aşağıdaki 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 kullanıcısı 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_securityadmin sabit 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_securityadmin sabit 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ü. |
Güvenilir olabilir üzerinde bir Denetim iznine sahip ilkeleri üzerinde izin verme Bu güvenlik altına alınabilir.
Üyeleri gibi bir veritabanı üzerinde DENETIM izni hibe db_ownersabit veritabanı rolü, herhangi bir izni vermek güvenilir veritabanı.
Örnekler
A.Başka bir kullanıcı bir kullanıcı üzerinde DENETIM izni verme
Aşağıdaki örnek CONTROLizni AdventureWorks2012kullanıcı Wanidakullanıcıya RolandX.
USE AdventureWorks2012;
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
USE AdventureWorks2012;
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B.OPTION bir kullanıcıya rol görünüm tanımı izni verme
Aşağıdaki örnek VIEW DEFINITIONizni AdventureWorks2012rol SammamishParkingile birlikte GRANT OPTIONveritabanı kullanıcı JinghaoLiu.
USE AdventureWorks2012;
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
USE AdventureWorks2012;
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C.Bir uygulama rol kullanıcıya özelliklerini Al izni verme
Aşağıdaki örnek IMPERSONATEkullanıcı izni HamithaLiçin AdventureWorks2012uygulama rolü AccountsPayable17.
USE AdventureWorks2012;
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
USE AdventureWorks2012;
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Ayrıca bkz.
Başvuru
Veritabanı asıl izinler (Transact-sql) deny
revoke veritabanı asıl izinler (Transact-sql)
sys.database_principals (Transact-sql)
sys.database_permissions (Transact-sql)
UYGULAMA rolü (Transact-sql) oluşturma