Aracılığıyla paylaş


GRANT Veritabanı İzinleri (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

SQL Server'daki bir veritabanında izinler verir.

Transact-SQL söz dizimi kuralları

Syntax


GRANT <permission> [ ,...n ]
    TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
    [ AS <database_principal> ]

<permission>::=
permission | ALL [ PRIVILEGES ]

<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

izin Veritabanında verilebilen bir izin belirtir. İzinlerin listesi için bu konunun devamındaki Açıklamalar bölümüne bakın.

TÜMÜ Bu seçenek tüm olası izinleri vermez. ALL vermek şu izinleri vermekle eşdeğerdir: BACKUP DATABASE, BACKUP LOG, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE ve CREATE VIEW.

ANSI-92 uyumluluğu için ayrıcalıklar dahil. ALL davranışını değiştirmez.

GRANT OPTION İle Sorumluya belirtilen izni diğer sorumlulara verme olanağının da verileceğini belirtir.

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Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri

Windows kullanıcısına eşlenen bir veritabanı kullanıcısını belirtir.

Database_user_mapped_to_Windows_GroupŞunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri

Bir Windows grubuna eşlenen veritabanı kullanıcısını belirtir.

Database_user_mapped_to_certificateŞunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri

Bir sertifikayla eşlenen veritabanı kullanıcısını belirtir.

Database_user_mapped_to_asymmetric_keyŞunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri

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

Important

Bazı durumlarda ALTER ve REFERENCE izinlerinin birleşimi, izni verenin verileri görüntülemesine veya yetkisiz işlevler yürütmesine izin verebilir. Örneğin: Tabloda ALTER iznine ve işlev üzerinde BAŞVURU iznine sahip bir kullanıcı, bir işlev üzerinde hesaplanan sütun oluşturabilir ve bu sütunun yürütülmesini sağlayabilir. Bu durumda, kullanıcının hesaplanan sütunda SELECT iznine de sahip olması gerekir.

Veritabanı, izinler hiyerarşisinde üst öğesi olan sunucu tarafından bulunan güvenli hale getirilebilir bir veritabanıdır. Bir veritabanı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ı izni Veritabanı izniyle örtülü Sunucu izniyle örtülü
VERİTABANI TOPLU İŞLEMLERİNİ YÖNETME
Şunlar için geçerlidir: SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
ALTER CONTROL TÜM VERITABANLARıNı DEĞIŞTIRME
TÜM UYGULAMA ROLLERINI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM DERLEMELERI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ASIMETRIK ANAHTARı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR SERTIFIKAYı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGİ BİR SÜTUN ŞİFRELEME ANAHTARINI DEĞİŞTİR ALTER KONTROL SUNUCUSU
HERHANGI BIR SÜTUN ANA ANAHTAR TANıMıNı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR SÖZLEŞMEYI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM VERITABANı DENETIMLERINI DEĞIŞTIRME ALTER TÜM SUNUCU DENETIMLERINI DEĞIŞTIRME
TÜM VERITABANı DDL TETIKLEYICILERINI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR VERITABANı OLAY BILDIRIMINI DEĞIŞTIRME ALTER HERHANGI BIR OLAY BILDIRIMINI DEĞIŞTIRME
VERITABANı OLAY OTURUMLARıNı DEĞIŞTIRME
Şunlar için geçerlidir: SQL Veritabanı.
ALTER TÜM OLAY OTURUMLARıNı DEĞIŞTIRME
HERHANGİ BIR VERITABANI KAPSAMLI YAPILANDIRMAYI DEĞIŞTIRME
için geçerlidir: SQL Server 2016 (13.x) ve üzeri, SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
TÜM DATASPACE'LERI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM DıŞ VERI KAYNAKLARıNı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM DıŞ DOSYA BIÇIMLERINI DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM DıŞ KITAPLıKLARı DEĞIŞTIRME
Şunlar için geçerlidir: SQL Server 2017 (14.x).
CONTROL KONTROL SUNUCUSU
TÜM TAM METIN KATALOĞUNU DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR MASKEYI DEĞIŞTIRME CONTROL KONTROL SUNUCUSU
HERHANGI BIR ILETI TÜRÜNÜ DEĞIŞTIRME ALTER KONTROL SUNUCUSU
UZAK HIZMET BAĞLAMALARıNı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ROLÜ DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HER YOLU DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM ŞEMALARı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
TÜM GÜVENLIK ILKELERINI DEĞIŞTIRME
Şunlar için geçerlidir: Azure SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
DUYARLıLıK SıNıFLANDıRMALARıNı DEĞIŞTIRME
Şunlar için geçerlidir: SQL Server (SQL Server 2019 ve üzeri), Azure SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
HİzMETİ DEĞIŞTIRME ALTER KONTROL SUNUCUSU
SIMETRIK ANAHTARı DEĞIŞTIRME ALTER KONTROL SUNUCUSU
KULLANICIYI DEĞİŞTİR ALTER KONTROL SUNUCUSU
AUTHENTICATE CONTROL AUTHENTICATE SUNUCUSU
YEDEKLEME VERITABANı CONTROL KONTROL SUNUCUSU
YEDEKLEME GÜNLÜĞÜ CONTROL KONTROL SUNUCUSU
CHECKPOINT CONTROL KONTROL SUNUCUSU
CONNECT ÇOĞALTMA BAĞLANTI KONTROL SUNUCUSU
ÇOĞALTMA BAĞLANTI CONTROL KONTROL SUNUCUSU
CONTROL CONTROL KONTROL SUNUCUSU
TOPLAMA OLUŞTURMA ALTER KONTROL SUNUCUSU
HERHANGI BIR DıŞ KITAPLıK OLUŞTURMA
Şunlar için geçerlidir: SQL Server 2017 (14.x).
CONTROL KONTROL SUNUCUSU
MONTAJ OLUŞTUR TÜM DERLEMELERI DEĞIŞTIRME KONTROL SUNUCUSU
ASIMETRIK ANAHTAR OLUŞTURMA HERHANGI BIR ASIMETRIK ANAHTARı DEĞIŞTIRME KONTROL SUNUCUSU
SERTIFIKA OLUŞTUR HERHANGI BIR SERTIFIKAYı DEĞIŞTIRME KONTROL SUNUCUSU
SÖZLEŞME OLUŞTURMA HERHANGI BIR SÖZLEŞMEYI DEĞIŞTIRME KONTROL SUNUCUSU
VERITABANı OLUŞTURMA CONTROL HERHANGI BIR VERITABANı OLUŞTURMA
VERITABANı DDL OLAY BILDIRIMI OLUŞTURMA HERHANGI BIR VERITABANı OLAY BILDIRIMINI DEĞIŞTIRME DDL OLAY BILDIRIMI OLUŞTURMA
VARSAYıLAN OLUŞTUR ALTER KONTROL SUNUCUSU
TAM METIN KATALOĞU OLUŞTURMA TÜM TAM METIN KATALOĞUNU DEĞIŞTIRME KONTROL SUNUCUSU
Fonksiyon Oluştur ALTER KONTROL SUNUCUSU
İLETI TÜRÜ OLUŞTURMA HERHANGI BIR ILETI TÜRÜNÜ DEĞIŞTIRME KONTROL SUNUCUSU
İŞLEM OLUŞTUR ALTER KONTROL SUNUCUSU
KUYRUK OLUŞTURMA ALTER KONTROL SUNUCUSU
UZAK HIZMET BAĞLAMASı OLUŞTURMA UZAK HIZMET BAĞLAMALARıNı DEĞIŞTIRME KONTROL SUNUCUSU
ROL YARAT HERHANGI BIR ROLÜ DEĞIŞTIRME KONTROL SUNUCUSU
ROTA OLUŞTUR HER YOLU DEĞIŞTIRME KONTROL SUNUCUSU
KURAL OLUŞTUR ALTER KONTROL SUNUCUSU
ŞEMA OLUŞTURMA TÜM ŞEMALARı DEĞIŞTIRME KONTROL SUNUCUSU
HİzMET OLUŞTUR HİzMETİ DEĞIŞTIRME KONTROL SUNUCUSU
SIMETRIK ANAHTAR OLUŞTURMA SIMETRIK ANAHTARı DEĞIŞTIRME KONTROL SUNUCUSU
EŞ ANLAMLı OLUŞTURMA ALTER KONTROL SUNUCUSU
CREATE TABLE ALTER KONTROL SUNUCUSU
TÜR OLUŞTUR ALTER KONTROL SUNUCUSU
GÖRÜNÜM YARAT ALTER KONTROL SUNUCUSU
XML ŞEMA KOLEKSIYONU OLUŞTURMA ALTER KONTROL SUNUCUSU
DELETE CONTROL KONTROL SUNUCUSU
EXECUTE CONTROL KONTROL SUNUCUSU
HERHANGI BIR DıŞ UÇ NOKTAYı YÜRÜTME
Şunlar için geçerlidir: Azure SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
HERHANGI BIR DıŞ BETIĞI YÜRÜTME
Şunlar için geçerlidir: SQL Server 2016 (13.x).
CONTROL KONTROL SUNUCUSU
DıŞ BETIĞI YÜRÜTME
için geçerlidir: SQL Server 2019 (15.x).
HERHANGI BIR DıŞ BETIĞI YÜRÜTME KONTROL SUNUCUSU
INSERT CONTROL KONTROL SUNUCUSU
VERITABANı BAĞLANTıSıNı SONLANDıRMA
Şunlar için geçerlidir: Azure SQL Veritabanı.
CONTROL TÜM BAĞLANTıLARı DEĞIŞTIRME
REFERENCES CONTROL KONTROL SUNUCUSU
SELECT CONTROL KONTROL SUNUCUSU
SHOWPLAN CONTROL ALTER İZİ
SORGU BILDIRIMLERINE ABONE OLMA CONTROL KONTROL SUNUCUSU
SAHIPLENMEK CONTROL KONTROL SUNUCUSU
UNMASK CONTROL KONTROL SUNUCUSU
UPDATE CONTROL KONTROL SUNUCUSU
HERHANGI BIR SÜTUN ŞIFRELEME ANAHTARı TANıMıNı GÖRÜNTÜLEME CONTROL HERHANGI BIR TANıMı GÖRÜNTÜLEME
HERHANGI BIR SÜTUN ANA ANAHTAR TANıMıNı GÖRÜNTÜLEME CONTROL HERHANGI BIR TANıMı GÖRÜNTÜLEME
VERİTABANI DURUMUNU GÖRÜNTÜLE CONTROL SUNUCU DURUMUNU GÖRÜNTÜLE
TANıMı GÖRÜNTÜLE CONTROL HERHANGI BIR TANıMı GÖRÜNTÜLEME

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.
Windows oturum açma bilgilerine 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_securityadmin sabit 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_securityadmin sabit 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.

Nesne sahipleri sahip oldukları nesneler üzerinde izin verebilir. Bir güvenli hale getirilebilir üzerinde CONTROL iznine sahip sorumlular, bu güvenli hale getirilebilir öğe üzerinde izin verebilir.

Sysadmin sabit sunucu rolünün üyeleri gibi CONTROL SERVER izni verenler, sunucudaki güvenliği sağlanabilir herhangi bir rol üzerinde herhangi bir izin verebilir.

Examples

A. Tablo oluşturma izni verme

Aşağıdaki örnek, kullanıcıya CREATE TABLEveritabanında izin AdventureWorks verirMelanieK.

USE AdventureWorks;
GRANT CREATE TABLE TO MelanieK;
GO

B. Bir uygulama rolüne SHOWPLAN izni verme

Aşağıdaki örnek, veritabanı üzerinde SHOWPLAN uygulama rolüne AdventureWorks2025izin verirAuditMonitor.

Şunlar için geçerlidir: SQL Server 2008 (10.0.x) ve üzeri, SQL Veritabanı

USE AdventureWorks2022;
GRANT SHOWPLAN TO AuditMonitor;
GO

C. GRANT OPTION ile CREATE VIEW verme

Aşağıdaki örnek, diğer sorumlulara CREATE VIEW verme hakkına AdventureWorks2025 sahip olan kullanıcıya CarmineEs veritabanı üzerinde CREATE VIEW izin verir.

USE AdventureWorks2022;
GRANT CREATE VIEW TO CarmineEs WITH GRANT OPTION;
GO

D. Veritabanı kullanıcısına CONTROL izni verme

Aşağıdaki örnek, veritabanı kullanıcısına CONTROLAdventureWorks2025veritabanında izin verirSarah. Kullanıcının veritabanında bulunması ve bağlamın veritabanına ayarlanması gerekir.

USE AdventureWorks2022;
GRANT CONTROL ON DATABASE::AdventureWorks2022 TO Sarah;
GO

Ayrıca Bkz.