En Taze Makaleler
Ana Sayfa / Makaleler / Veri Kontrol Dili (DCL)

Veri Kontrol Dili (DCL)

DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini değiştirmek için kullanılır. Diğer bir deyişle verilere erişim yetkilerini düzenlemede kullanılır. Bazı temel DCL komutları aşağıdaki şekildedir:

Temel DCL Komutları
GRANT: Bir kullanıcının verileri kullanmasına ve T-SQL komutlarını çalıştırmasına izin verir.
DENY:  Bir kullanıcının verileri kullanmasını kısıtlar.
REVOKE: Daha önce yapılan tüm kısıtlama ve izinleri iptal eder. DCL komutlarını kullanabilmek için SQL Server’da varsayılan değer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin ‘dir. Sunucuya dışarıdan bir erişim sağlamak için bir giriş (login) oluşturulmalıdır.
Bunun için;
CREATE LOGIN handan WITH PASSWORD =’123456’
Bu rol ile veri tabanına bir kullanıcı olarak erişim için aşağıdaki satırlar yazılmalıdır:
CREATE USER Herdag
FOR LOGIN handan
Eğer User adı ile Login adı aynı ise FOR LOGIN satırına gerek kalmaz.
Veri tabanında uygulama rolü oluşturulması için de aşağıdaki satırlar kullanılabilir:
CREATE APPLICATION ROLE Lab1
WITH PASSWORD = ‘sifre’,
DEFAULT_SCHEMA=Lab1;

GRANT Komutu

Veri tabanı kullanıcısına, veri tabanı rolüne veya uygulama rolüne izinler vermek için kullanılan komuttur.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

GRANT {ALL veya izinler}

ON {izin_verilenler}

TO {hesaplar}

ALL ifadesi, tüm hakların verilebileceğini gösterir.

handan adlı kullanıcıya tablo oluşturma izni şöyle verilebilir:

GRANT CREATE TABLE

TO handan

Aynı anda Lab1 rolüne de aynı izin verilebilir.

GRANT CREATE TABLE TO Lab1, handan

Bir kullanıcıya hem veri tabanı hem de tablo oluşturma izni şöyle verilir:

GRANT CREATE DATABASE, CREATE TABLE TO seco

DENY Komutu

Kullanıcıların haklarını kısıtlayan komuttur.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

DENY { ALL veya izinler} TO {kullanıcılar}

DENY CREATE TABLE

TO handan

handan adlı kullanıcının tablo oluşturma yetkisi kısıtlanır.

DENY SELECT ON PERSONEL TO handan

10

PERSONEL tablosunda hadnan adlı kullanıcı SELECT komutuyla ilgili işlem

REVOKE Komutu

Daha önce yapılan tüm kısıtlama ve izinleri iptal eden komuttur. Bir nesneyi oluşturan kullanıcının REVOKE ile nesne üzerindeki yetkilendirme ve kullanma hakkı yok edilemez.

REVOKE komutunu, sys_admin rolüne veya db_owner, db_securityadmin sabit veri tabanı rollerine sahip kullanıcılar ve nesne için dbo olan kullanıcı çalıştırabilir.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

REVOKE {ALL veya izinler} {TO veya FROM} {hesaplar}

REVOKE ALL TO PUBLIC

PUBLIC rolüne verilmiş olan tüm yetkiler kaldırılır.

REVOKE SELECT ON PERSONEL TO PUBLIC

PUBLIC rolüne PERSONEL tablosunda seçim için verilen izin kaldırılır.

Sevgili Okuyucu, bak bu makalede ilgini çekebilir.

Shirley Tiyatro Oyunu

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir