27 Nisan 2013 Cumartesi

Veri Kontrol Dili (DCL) Nedir?

Veri-Kontrol-Dili_emresupcin


Merhaba arkadaşlar,
Sıradaki makalemizde sql dersini işleyeceğiz ve bu dersimizin konusu Veri Kontrol Dili’nin ne olduğu, Temel komutlarının hangileri olduğunu sizlere anlatacağım.
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.


Temel komutları aşağıdaki şekildedir.

Temel 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 Emre1 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 Emre FOR LOGIN Emre1


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ı
GRANT {ALL veya izinler} ON {izin_verilenler} TO {hesaplar} ALL ifadesi, tüm hakların verilebileceğini gösterir.

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

Genel Yazımı
DENY { ALL veya izinler} TO {kullanıcılar}

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ı REVOKE {ALL veya izinler} {TO veya FROM} {hesaplar}

0 yorum:

Yorum Gönder