Aracılığıyla paylaş


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

Veritabanı kullanıcı, veritabanı rolü veya uygulama rolü izinleri verir.

Konu bağlantısı simgesi 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)

CREATE USER (Transact-SQL)

UYGULAMA rolü (Transact-sql) oluşturma

CREATE ROLE (Transact-SQL)

grant (Transact-sql)

Kavramlar

Izinler (veritabanı altyapısı)

Sorumluları (veritabanı altyapısı)