Aracılığıyla paylaş


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

Bir veritabanı kullanıcısı, veritabanı rolüya da uygulama rolüizinleri verir.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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
    Verilebilir izni üzerinde veritabanı asıl adı belirtir.İzinler listesi için bu bölümdeki açıklamalar bölümüne bakın.

  • USER ::database_user
    Sınıf ve izin verilen kullanıcının adını belirtir.niteleyici kapsam(:) gereklidir.

  • ROLE ::database_role
    Sınıf ve izin verilen rolün adını belirtir.niteleyici kapsam(:) gereklidir.

  • Uygulama ROLÜ :application_role
    Sınıf ve izin verilen uygulama rolü adını belirtir.niteleyici kapsam(:) gereklidir.

  • GRANT SEÇENEĞİ İLE
    Patron da diğer ilkeleri için belirtilmiş izni vermek olanağı verilir 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
    Bir veritabanı kullanıcı belirtir.

  • Database_role
    veritabanı rolübelirtir.

  • Application_role
    Bir 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
    Bir sertifikaeşlenen veritabanı kullanıcı belirtir.

  • Database_user_mapped_to_asymmetric_key
    Bir asimetrik anahtareşlenen veritabanı kullanıcı belirtir.

  • Database_user_with_no_login
    Hiçbir karşılık gelen sunucudüzey ile asıl veritabanı kullanıcı belirtir.

Açıklamalar

Veritabanı sorumluları hakkında bilgi görünür sys.database_principals Katalog görünümü.Veritabanı -düzey izinler hakkında bilgi görünür sys.database_permissions Katalog görünümü.

Veritabanı kullanıcı izinleri

Veritabanı izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzey güvenliği sağlanabilir olduğu.Bir veritabanı kullanıcı verilebilecek en belirli ve sınırlı izinleri, aşağıdaki tablo, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte listelenir.

Veritabanı kullanıcı izni

Veritabanı kullanıcı izni tarafından örtülü

Veritabanı izni tarafından örtülü

DENETİM

DENETİM

DENETİM

TAKLİT

DENETİM

DENETİM

ALTER

DENETİM

HERHANGİ BİR KULLANICI DEĞİŞTİREBİLİR

VIEW DEFINITION

DENETİM

VIEW DEFINITION

Veritabanı rolü izinleri

veritabanı rolü izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzeygüvenliği sağlanabilir ' dir. veritabanı rolü verilebilecek en belirli ve sınırlı izinleri, aşağıdaki tablo, bunların patentlerini tarafından dahil daha genel izinleri ile birlikte listelenir.

Veritabanı rolü izni

Örtülü veritabanı rolü izni

Veritabanı izni tarafından örtülü

DENETİM

DENETİM

DENETİM

SAHİPLİĞİ

DENETİM

DENETİM

ALTER

DENETİM

HER ROLE ALTER

VIEW DEFINITION

DENETİM

VIEW DEFINITION

Uygulama rolü izinleri

Bir uygulama rolü izinleri sıradüzeni içindeki üst olan veritabanı tarafından bulunan bir veritabanı -düzey güvenliği sağlanabilir kullanılır.Bir uygulama rolü verilebilecek en belirli ve sınırlı izinleri bunların patentlerini tarafından dahil daha genel izinleri ile birlikte aşağıdaki listelenmiştir.

Uygulama rolü izni

Örtülü uygulama rolü izni

Veritabanı izni tarafından örtülü

DENETİM

DENETİM

DENETİM

ALTER

DENETİM

HERHANGİ BİR UYGULAMA ROLÜNE ALTER

VIEW DEFINITION

DENETİM

VIEW DEFINITION

İzinler

Grantor (veya as seçeneği ile belirtilen sorumlusunun) izniyle kendisini grant seçeneği ya da verilen izindir anlamına gelir daha yüksek bir izin olması gerekir.

as seçeneği kullanıyorsanız, aşağıdaki ek gereksinimler Uygula.

ASgranting_principal

Ek izin gerekiyor

Veritabanı kullanıcı

Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Bir Windows kullanıcısı eşlenen veritabanı kullanıcı

Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Bir Windows grubu eşlenen veritabanı kullanıcı

Üyelik Windows Grup üyeliği db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Bir sertifikaeşlenen veritabanı kullanıcı

Üyelik db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Bir asimetrik anahtareşlenen veritabanı kullanıcı

Üyelik db_securityadminveritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Herhangi bir sunucu asıl değil eşlenen veritabanı kullanıcı

Kullanıcı, üyelik özelliklerini Al izni db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Veritabanı rolü

Rol üyeliği üzerinde alter iznine db_securityadminveritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Uygulama rolü

Rol üyeliği üzerinde alter iznine db_securityadmin veritabanı rolü, üyelik sabit db_owner veritabanı rolüveya Üyelik sabit sysadmin sabit sunucu rolü.

Bir güvenliği sağlanabilir üzerinde Denetim iznine sahip ilkeleri, güvenliği sağlanabilirüzerinde izni verebilirsiniz.

Üyeleri gibi bir veritabanı üzerinde denetim izni grantees db_owner veritabanı rolü, sabit herhangi güvenliği sağlanabilir veritabanında bulunan herhangi bir izni vermek

Örnekler

A.Başka bir kullanıcı bir kullanıcı üzerinde denetim izni verme

Aşağıdaki örnek verir CONTROL izni AdventureWorks2008R2 kullanıcı Wanida kullanıcı RolandX.

USE AdventureWorks2008R2;
GRANT CONTROL ON USER::Wanida TO RolandX;
GO

B.grant seçeneği ile kullanıcıya rol üzerinde görünüm TANIMI izni verme

Aşağıdaki örnek verir VIEW DEFINITION izni AdventureWorks2008R2 Rol SammamishParking ile birlikte GRANT OPTION veritabanı kullanıcı JinghaoLiu.

USE AdventureWorks2008R2;
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 verir IMPERSONATE kullanıcı izni HamithaL için AdventureWorks2008R2 uygulama rolü AccountsPayable17.

USE AdventureWorks2008R2;
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO