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 verilmesi aşağıdaki izinleri vermeye eşdeğerdir: BACKUP, LOG, DATABASE, BACKUP, CREATE DEFAULT, CREATE FUNCTION, , CREATE PROCEDURE, , ve CREATE RULE. CREATE TABLECREATE VIEW

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

SEÇEKLİ ILE GRANT Yöneticiye belirtilen izni diğer müdürlere de verme yetkisi 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Ş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ü
TOPLU İŞLEMLERI YÖNETME DATABASE
Şunlar için geçerlidir: SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
ALTER CONTROL HERHANGI BIR DATABASE DEĞIŞTIRME
HERHANGI BIR APPLICATION ROLE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ASSEMBLY DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ASYMMETRIC KEY DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR CERTIFICATE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR COLUMN ENCRYPTION KEY DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR COLUMN MASTER KEY TANIMI DEĞIŞTIRIN ALTER KONTROL SUNUCUSU
HERHANGI BIR CONTRACT DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HER TÜRLÜ DATABASE DENETIMI DEĞIŞTIRME ALTER HERHANGI BIR SERVER AUDIT DEĞIŞTIRME
TÜM DATABASE DDL'LERI DEĞIŞTIRME TRIGGER ALTER KONTROL SUNUCUSU
HERHANGİ BİrİNE ALTER DATABASEEVENT NOTIFICATION ALTER HERHANGI BIR EVENT NOTIFICATION DEĞIŞTIRME
HERHANGİ BİrİNE ALTER DATABASEEVENT SESSION
Şunlar için geçerlidir: SQL Veritabanı.
ALTER HERHANGI BIR EVENT SESSION DEĞIŞTIRME
HERHANGI BIR DATABASE SCOPED CONFIGURATION 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
HERHANGI BIR EXTERNAL DATA SOURCE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR EXTERNAL FILE FORMAT DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR EXTERNAL LIBRARY DEĞIŞTIRME
Şunlar için geçerlidir: SQL Server 2017 (14.x).
CONTROL KONTROL SUNUCUSU
HERHANGI BIR FULLTEXT CATALOG DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR MASKEYI DEĞIŞTIRME CONTROL KONTROL SUNUCUSU
HERHANGI BIR MESSAGE TYPE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR REMOTE SERVICE BINDING DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ROLE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR ROUTE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR SCHEMA DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR SECURITY POLICY DEĞIŞTIRME
Şunlar için geçerlidir: Azure SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
HERHANGI BIR SENSITIVITY CLASSIFICATION DEĞIŞTIRME
Şunlar için geçerlidir: SQL Server (SQL Server 2019 ve üzeri), Azure SQL Veritabanı.
CONTROL KONTROL SUNUCUSU
HERHANGI BIR SERVICE DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR SYMMETRIC KEY DEĞIŞTIRME ALTER KONTROL SUNUCUSU
HERHANGI BIR USER DEĞIŞTIRME ALTER KONTROL SUNUCUSU
AUTHENTICATE CONTROL AUTHENTICATE SUNUCUSU
BACKUP DATABASE CONTROL KONTROL SUNUCUSU
BACKUP GÜNLÜK 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
CREATE AGGREGATE ALTER KONTROL SUNUCUSU
HERHANGİ Bİrİ OLUŞTURUN EXTERNAL LIBRARY
Şunlar için geçerlidir: SQL Server 2017 (14.x).
CONTROL KONTROL SUNUCUSU
CREATE ASSEMBLY HERHANGI BIR ASSEMBLY DEĞIŞTIRME KONTROL SUNUCUSU
CREATE ASYMMETRIC KEY HERHANGI BIR ASYMMETRIC KEY DEĞIŞTIRME KONTROL SUNUCUSU
CREATE CERTIFICATE HERHANGI BIR CERTIFICATE DEĞIŞTIRME KONTROL SUNUCUSU
CREATE CONTRACT HERHANGI BIR CONTRACT DEĞIŞTIRME KONTROL SUNUCUSU
CREATE DATABASE CONTROL HERHANGİ Bİrİ OLUŞTURUN DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION HERHANGİ BİrİNE ALTER DATABASEEVENT NOTIFICATION DDL OLUŞTUR EVENT NOTIFICATION
CREATE DEFAULT ALTER KONTROL SUNUCUSU
CREATE FULLTEXT CATALOG HERHANGI BIR FULLTEXT CATALOG DEĞIŞTIRME KONTROL SUNUCUSU
CREATE FUNCTION ALTER KONTROL SUNUCUSU
CREATE MESSAGE TYPE HERHANGI BIR MESSAGE TYPE DEĞIŞTIRME KONTROL SUNUCUSU
CREATE PROCEDURE ALTER KONTROL SUNUCUSU
CREATE QUEUE ALTER KONTROL SUNUCUSU
CREATE REMOTE SERVICE BINDING HERHANGI BIR REMOTE SERVICE BINDING DEĞIŞTIRME KONTROL SUNUCUSU
CREATE ROLE HERHANGI BIR ROLE DEĞIŞTIRME KONTROL SUNUCUSU
CREATE ROUTE HERHANGI BIR ROUTE DEĞIŞTIRME KONTROL SUNUCUSU
CREATE RULE ALTER KONTROL SUNUCUSU
CREATE SCHEMA HERHANGI BIR SCHEMA DEĞIŞTIRME KONTROL SUNUCUSU
CREATE SERVICE HERHANGI BIR SERVICE DEĞIŞTIRME KONTROL SUNUCUSU
CREATE SYMMETRIC KEY HERHANGI BIR SYMMETRIC KEY DEĞIŞTIRME KONTROL SUNUCUSU
CREATE SYNONYM ALTER KONTROL SUNUCUSU
CREATE TABLE ALTER KONTROL SUNUCUSU
CREATE TYPE ALTER KONTROL SUNUCUSU
CREATE VIEW ALTER KONTROL SUNUCUSU
CREATE XML SCHEMA COLLECTION ALTER KONTROL SUNUCUSU
DELETE CONTROL KONTROL SUNUCUSU
EXECUTE CONTROL KONTROL SUNUCUSU
HERHANGİ Bİr HARİÇ YÜRÜTME ENDPOINT
Ş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
BAĞLANTıYı SONLANDıRMA DATABASE
Ş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
VIEWTÜM TANIMLAR COLUMN ENCRYPTION KEY CONTROL VIEW TÜM TANIMLAR
VIEWTÜM TANIMLAR COLUMN MASTER KEY CONTROL VIEW TÜM TANIMLAR
VIEW DATABASE PERFORMANS DURUMU

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW DATABASE DURUM VIEW SUNUCU PERFORMANS DURUMU
VIEW DATABASE GÜVENLIK DURUMU

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW DATABASE DURUM VIEW SUNUCU GÜVENLIK DURUMU
VIEW DATABASE DURUM CONTROL VIEW SUNUCU DURUMU
VIEW TANIMI CONTROL VIEW TÜM TANIMLAR
VIEW PERFORMANS TANıMı

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW TANIMI VIEW TÜM PERFORMANS TANıMLARı
VIEW GÜVENLIK TANıMı

Şunlar için geçerlidir: SQL Server 2022 (16.x) ve sonraki sürümleri.
VIEW TANIMI VIEW TÜM GÜVENLIK TANıMLARı

Permissions

Vericinin (veya AS seçeneğiyle belirtilen müdürün) ya OPTION ile izni GRANT kendisine ya da izin verildiğini ima eden daha yüksek bir izne sahip olmalıdır.

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. OPTION ile CREATE VIEW Veriş GRANT

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