Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
SQL Server'da veritabanı kullanıcısı, veritabanı rolü veya uygulama rolü üzerinde izinler verir.
Transact-SQL söz dizimi kuralları
Syntax
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
Arguments
permission
Veritabanı sorumlusunda verilebilen bir izin belirtir. İzinlerin listesi için bu konunun devamındaki Açıklamalar bölümüne bakın.
KULLANICI ::database_user
İzin verilen kullanıcının sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.
ROL ::database_role
İzin verilen rolün sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.
UYGULAMA ROLÜ ::application_role
İzin verilen uygulama rolünün sınıfını ve adını belirtir. Kapsam niteleyicisi (::) gereklidir.
GRANT SEÇENEĞI ILE
Sorumluya, belirtilen izni diğer sorumlulara verme yetkisinin de verileceğini gösterir.
AS <database_principal>
Bu sorguyu yürüten sorumlunun izin verme hakkını türetdiği bir sorumlu belirtir.
Database_user
Veritabanı kullanıcılarını belirtir.
Database_role
Bir veritabanı rolü belirtir.
Application_role
Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı.
Bir uygulama rolü belirtir.
Database_user_mapped_to_Windows_User
Windows kullanıcısına eşlenen bir veritabanı kullanıcısını belirtir.
Database_user_mapped_to_Windows_Group
Bir Windows grubuna eşlenen veritabanı kullanıcısını belirtir.
Database_user_mapped_to_certificate
Bir sertifikayla eşlenen veritabanı kullanıcısını belirtir.
Database_user_mapped_to_asymmetric_key
Asimetrik anahtara eşlenmiş bir veritabanı kullanıcısı belirtir.
Database_user_with_no_login
Karşılık gelen sunucu düzeyi sorumlusu olmayan bir veritabanı kullanıcısı belirtir.
Remarks
Veritabanı sorumluları hakkındaki bilgiler sys.database_principals katalog görünümünde görünür. Veritabanı düzeyinde izinler hakkındaki bilgiler sys.database_permissions katalog görünümünde görünür.
Veritabanı Kullanıcı İzinleri
Veritabanı kullanıcısı, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir kullanıcıdır. Bir veritabanı kullanıcısında verilebilen en özel ve sınırlı izinler aşağıdaki tabloda listelenmiştir ve bunları ima yoluyla içeren daha genel izinlerle birlikte listelenmiştir.
| Veritabanı kullanıcı izni | Veritabanı kullanıcı izniyle örtülü | Veritabanı izniyle örtülü |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | KULLANICIYI DEĞİŞTİR |
| TANıMı GÖRÜNTÜLE | CONTROL | TANıMı GÖRÜNTÜLE |
Veritabanı Rolü İzinleri
Veritabanı rolü, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir roldür. Veritabanı rolünde verilebilen en özel ve sınırlı izinler aşağıdaki tabloda listelenmiştir ve bunları ima yoluyla içeren daha genel izinlerle birlikte listelenmiştir.
| Veritabanı rolü izni | Veritabanı rolü izniyle örtülü | Veritabanı izniyle örtülü |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| SAHIPLENMEK | CONTROL | CONTROL |
| ALTER | CONTROL | HERHANGI BIR ROLÜ DEĞIŞTIRME |
| TANıMı GÖRÜNTÜLE | CONTROL | TANıMı GÖRÜNTÜLE |
Uygulama Rolü İzinleri
Uygulama rolü, izinler hiyerarşisinde üst öğesi olan veritabanı tarafından kapsanan veritabanı düzeyinde güvenli hale getirilebilir bir roldür. Bir uygulama rolünde verilebilen en özel ve sınırlı izinler, bunları ima yoluyla içeren daha genel izinlerle birlikte aşağıda listelenmiştir.
| Uygulama rolü izni | Uygulama rolü izniyle örtülü | Veritabanı izniyle örtülü |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | TÜM UYGULAMA ROLLERINI DEĞIŞTIRME |
| TANıMı GÖRÜNTÜLE | CONTROL | TANıMı GÖRÜNTÜLE |
Permissions
Verenin (veya AS seçeneğiyle belirtilen sorumlunun), GRANT OPTION ile iznin kendisine veya verilen izni ima eden daha yüksek bir izne sahip olması gerekir.
AS seçeneğini kullanıyorsanız aşağıdaki ek gereksinimler geçerlidir.
| AS granting_principal | Ek izin gerekiyor |
|---|---|
| Veritabanı kullanıcısı | Kullanıcı üzerinde KIMLIĞE BÜRÜNme izni, db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Bir Windows Kullanıcısına eşlenen veritabanı kullanıcısı | Kullanıcı üzerinde KIMLIĞE BÜRÜNme izni, db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Bir Windows Grubuna eşlenen veritabanı kullanıcısı | Windows grubu üyeliği, db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Sertifikayla eşlenen veritabanı kullanıcısı | db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Asimetrik anahtara eşlenen veritabanı kullanıcısı | db_securityadminfixed veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Veritabanı kullanıcısı hiçbir sunucu sorumlusuyla eşlenmedi | Kullanıcı üzerinde KIMLIĞE BÜRÜNme izni, db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Veritabanı rolü | Rol üzerinde ALTER izni, db_securityadminfixed veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
| Uygulama rolü | Rol üzerinde ALTER izni, db_securityadmin sabit veritabanı rolü üyeliği, db_owner sabit veritabanı rolü üyeliği veya sysadmin sabit sunucu rolü üyeliği. |
Bir güvenli hale getirilebilir üzerinde CONTROL iznine sahip sorumlular, bu güvenli hale getirilebilir öğe üzerinde izin verebilir.
Db_owner sabit veritabanı rolünün üyeleri gibi bir veritabanında CONTROL izni verenler, veritabanındaki güvenli hale getirilebilir herhangi bir öğe üzerinde herhangi bir izin verebilir.
Examples
A. Kullanıcıya başka bir kullanıcıya CONTROL izni verme
Aşağıdaki örnek, kullanıcıya CONTROLAdventureWorks2025kullanıcı üzerinde Wanida izin verirRolandX.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. GRANT OPTION ile kullanıcıya rol üzerinde VIEW DEFINITION izni verme
Aşağıdaki örnek, ile VIEW DEFINITION birlikte veritabanı kullanıcısına AdventureWorks2025rol SammamishParking üzerinde GRANT OPTION izin verirJinghaoLiu.
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. Uygulama rolüne kullanıcı üzerinde KIMLIĞE BÜRÜNme izni verme
Aşağıdaki örnek, kullanıcı IMPERSONATE için uygulama rolüne HamithaLAdventureWorks2025 izin verirAccountsPayable17.
Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
Ayrıca Bkz.
DENY Veritabanı Asıl İzinleri (Transact-SQL)
REVOKE Veritabanı Asıl İzinleri (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
KULLANICI OLUŞTUR (Transact-SQL)
UYGULAMA ROLÜ OLUŞTURMA (Transact-SQL)
ROL OLUŞTUR (Transact-SQL)
HİBE (Transact-SQL)
İzinler (Veritabanı Altyapısı)
Sorumluları (Veritabanı Altyapısı)