1. Anasayfa
  2. SQL Server

SQL Server Policy Management Yardımıyla İsimlendirme Kontrolünün Yapılması


1

Bu yazıda SQL 2008 ile hayatımıza girmiş olan Policy Management özelliğine değiniyor olacağız. Bu özellik ile birbirinden farklı Policy’ler oluşturup Database içerisindeki bazı takip işlerini bu şekilde gerçekleştirebilirsiniz. Örnek vermek gerekirse, tablo isimlendirmeleri hakkında bir Policy oluşturup belirli aralıkta bunların kontrolünü tek bir noktadan sağlayabilirsiniz.

Policy Management menüsüne SQL Server Management Studio (SSMS) de management’ın altında erişebilirsiniz.


Resim-1

Yukarıda ki resimi incelemeye başladığımız taktirde Policy Management altında 3 bölüm olduğunu görüyoruz. Bu bölümler ve tanımlamalarını yapmamız gerekirse;

  • Policies : Condition ( Koşul ) ların bütünleştirilip bir Policy tanımadığımız bölüm.
  • Conditions : İstediğimiz koşulları oluşturduğumuz bölüm.
  • Facets : SQL Server kurulumu ile gelen yönetilebilen özelliklerin bulunduğu bölümdür. Bu bölüm içerisinde Table Facets’a bakarsak eğer bir tablo için koşul olarak verebileceğimiz bütün özellikleri görebiliriz. Aşağıda Table Facets örneği gösteriyorum.


Resim-2

Temel tanımlardan bahsettik, şimdi Policy oluşturmanın basamaklarını beraber inceleyerek bir “Table Naming Policy” oluşturalım.

1. Condition ( koşul ) oluşturulması

2. Policy Oluşturulması

3. Policy çalıştırılması

Örneğimiz içerisinde oluşturulmasını istediğimiz Policy, “DBA” veritabanı içerisinde “Table” isimlerini kontrol ederek “tbl_” ön takısı ile başlayıp başlamadığını kontrol edecektir.

İşlem basamaklarını oluşturuyoruz.

1. Öncelikli olarak “DBA” veritabanı oluşturuyoruz.

IF NOT EXISTS(select * from sys.Databases where name=’DBA’)

Create DATABASE DBA

2. Condition ( Koşul ) oluşturma işlemini gerçekleştirmemiz gerekiyor. Policy Management altında bulunan Condition üzerinde sağ tıklıyoruz ve New Conditions tıklıyoruz.

Resim-3

Karşımıza yeni gelen pencere ise aşağıdaki gibidir. Bu pencere üzerindeki tanımlamalar ise ;

  • Name : Condition’a verilecek isim bilgisidir. Örneğimizde “Table_Name_Condition” olarak belirliyoruz.
  • Facet : Condition’ı etkli olmasını istediğimiz alan bilgisidir. Örneğimizde “Table” olarak belirliyoruz.
  • Expression : Bu bölüm ise kriterlerimizin tanımladığımız bölümdür. Örneğimizde Field bölümüne “@Name” operator bölümüne “LIKE” value bölümüne ise “tbl_%” yazıyoruz.


Resim-4

3. Condition bilgisini de oluşturduktan sonra sıra Policy oluşturmamıza geldi. Bu işlem için ise Management Policy altında bulunan Policies sağ tıklayıp New Policies tıklıyoruz.


Resim-5

Gelen pencere ve üzerindeki değer bilgileri aşağıdaki gibi yapılandırılıp “ok” tıklanır.

  • Name : Oluşturulan Policy için verilen isim bilgisidir. Örneğimizde verilen isim ise “Table_Name_Policy” dir.
  • Check Condition : Policy içerisinde hangi Condition bilgisini kriter olarak seçeceğimizi belirtiyoruz. Örneğimiz de bu bölümü de “Table_Name_Condition” seçiyoruz.
  • Against Targets : Policy hangi hedeflerde gerçekleştirileceğiniz belirtiyoruz. Varsayılan olarak “Every Table“,”Every Database” gelmektedir. Bizim örneğimizde olması gereken ise “DBA” veritabanı içerisinde “Every Table” da olması. Bu yüzden Against Targets bölümünde “Every Database” bölümünde New Condition oluşturarak “DBA” veritabanı seçiyoruz. ( New Condition kısımı ikinci adımda gerçekleştirdiğimiz tanımlama benzeridir. Bu yüzden tekrar tanımlamanın nasıl yapılacağını anlatmadım.)
  • Evaluation Mode : Bu bölümde karşınıza 2 adet seçenek gelmektedir. Bunlar ;
    • On Demond : Default olarak gelmektedir. Bu seçeneğin seçilmesi halinde Policy üzerinde sağ tıklayıp Evaluate seçeneğini seçip manuel çalıştırmanız gerekmektedir.
    • On Schedule : Policy için bir zamanlama tanımlayıp o vakitlerde çalıştırılması sağlayabilirsiniz. Tanımlı zamanlama bilgilerini seçebileceğiniz gibi sizde tanımlama yapabilirsiniz.


Resim-6

Policy oluşturma işlemini gerçekleştirmiş olduk. Şimdi oluşturduğumuz “DBA” veritabanı üzerinde örnek iki adet tablo oluşturup Policy Evaluate edip sonuçları görüntüleyelim. Tablo oluşturmak için aşağıdaki kod parçalarını kullanabiliriz.

use DBA

go

create table MsHowto ( Id int)

go

create table tbl_MsHowto ( Id int)

Tablo oluşturma işlemini de başarılı bir şekilde yaptık şimdi Policy Evaluate etmemiz gerekiyor. Bu işlem için Policy Management à Policies à
Table_Name_Policy üzerinde sağ tıklayıp Evaluate ediyoruz.


Resim-7

Evaluate işlemini yaptıktan sonra;


Resim-8

Yukarıda Evaluate Policies ekranından anlaşılacağı üzere “DBA” Veritabanı üzerinde Policy uygulandığı, 1 tablonun Policy uygun diğerinin ise uygun olmadığı gibi bilgileri görebiliyoruz. Views bölümüne tıklayarak Policy detaylarını Condition ile birlikte görüntüleyebiliyoruz. Aynı zamanda bu ekranın çıktısını ise “Export Results” diyerek dışarı alabilmekteyiz.

Sonuç olarak, SQL Server Policy Management ile birçok özellikle hakkında Policy uygulayabilir, bunları kontrol edebilir ve raporlarını yapabiliriz. Policy Management ile gerçekleştiremediğimiz işlemler için ise, yönetilebilir özelliklere ait Trigger tanımlaması yaparak istediğimiz özelliklere sahip bir SQL Server hizmeti kullanabiliriz. Policy Management, çoklu Database Developer çalıştıran bir firma içerisinde Database daha düzenli olmasını sağlayabiliriz. Bir sonraki makalemizde görüşmek üzere.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Milenyumdan beri ilginç bir merak duygusu ile başlayan bilgisayar ve teknoloji dünyası merakı sayesinde eğitim yaşantımı doğup büyüdüğüm Düzce'de geçirdim. Sonrasında Düzce'nin kendimi geliştirmek adına yeterli imkanlara sahip olmadığından İstanbul'a gelip Bilge Adam Eğitim Kurumlarından Yazılım ve Veritabanı eğitimi aldım. Eğitimimi tamamlarken çeşitli Windows ve Web uygulamaları geliştirdim.Sırası ile Sentez Yazılım, Nebim Yazılım, Ciceksepeti, Doğan Holding, Kariyer.Net, TurkNet gibi firmalarında Yönetici / Müdür pozisyonlarında farklı ünvanlarda ( Yazılım Geliştirici / Raporlama ve Veritabanı Yöneticisi gibi) görev aldım. Şimdilerde ise DMC Bilgi Teknolojileri firmasının Kurucu Ortaklığını ve Veritabanı Danışmalığı Hizmeti vermekteyim.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. 07/11/2014

    Harika bir yazı olmuş hocam, tam da ihtiyacım olan şey :) developer’lar düşünsün artık gerisini :)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir