|
|
|
SQL Server 2008: Declarative Management
Framework
|
Son güncelleme tarihi: 25 Ocak 2008
Merhaba arkadaşlar,
Bu yazımın konusu, SQL Server 2008 ile birlikte gelen Declarative
Management Framework
(DMF).
Yazımın devamında, size ilk önce DMF' in kavramlarından ve bileşenlerinden bahsedeceğim,
daha sonra da DMF' i ne gibi işlerde kullanabileceğimize dair iki örnek vereceğim
ve adım adım resimlerle oluşturulmuş bir örnek yapıp yazımı tamamlayacağım.
Bu makalemi hazırlarken kullandığım SQL Server 2008, CTP5 versiyonudur. CTP versiyonlarını
kesinlikle Production ortamınıza kurmanızı önermem. Microsoft' un kalbi olan Redmon'
tan konuştuğum SQL Server ile çalışan insanlar bana SQL Server 2008' in Ağustos
ayından önce çıkmayacağını söylediler. Yani RTM' e daha çok var. Bu makalemdeki
örnekleri yapmak için Sanal Makine kullanmanızı tavsiye ederim.
Ben örneklerimi ve testlerimi MyDB isimli bir veritabanında oluşturuyorum. Hiç
bir özelliği yok, alelade bir veritabanıdır kendisi ve arzu ederseniz aşağıdaki
komutu kullanarak oluşturabilirsiniz.
=====================
CREATE DATABASE [MyDB]
=====================
Peki nedir bu DMF, ne işe yarar? DMF, kısaca Veritabanı Yöneticileri için
gerçekten işe yarayacak, yönetimsel olarak istemediğimiz veya istediğimiz şeylerin
bir veya birden çok SQL Server Instance' ında Policy
tabanlı olarak uygulanışını
denetleyecek, bu sayede de işlerimizi kolaylaştıracak bir yönetim sistemidir.
DMF bir kaç bileşenden oluşuyor. Bunlar:
- DMF Managed Target (Yönetilen Hedef),
- DMF Facet (Bu kelimenin tam karşılığını bilemiyorum ama sanırım
'Model' diyebiliriz),
- DMF Conditions (Koşul),
- DMF Policy (Politika),
- DMF Policy Category (Politika Kategorisi),
- DMF Execution Mode (Çalıştırma Modu), ve
- Effective Policy (Etkin Politika)' dir.

Resim-1
|
Gözünüzü korkutmasın sakın bu terimler. Ne kadar basit olduklarını verdiğim örneklerde
ve kendiniz uygularken göreceksiniz. Basit derken yönetimsel olarak basit demek
istedim, işlevleri
ise çok işe yarar ve güçlü.
Şimdi size tek tek bu bileşenlerden bahsetmek istiyorum. Nedir bunlar? Ne işe yararlar?
Bunları anlatacağım.
DMF Managed Target:
Bir SQL Server Database Engine örneği, bir veritabanı, bir tablo ya da bir dizin
(Index) gibi DMF tarafından yönetilen varlıklara DMF Managed Target denir.
DMF Management Facet:
Belli bir Managed Target' ın davranış veya karakteristiğini modelleyen mantıksal
özellikler bütünüdür. Özelliklerin sayısı ve karakteristikleri Facet içerisinde
inşa edilmiştir ve sadece yapıcısı tarafından eklenip çıkarılabilirler. Bir hedef
tipi bir veya daha fazla Facet içerebilir ve bir Facet de bir veya daha fazla hedef
tipi tarafından içerilebilir.
DMF Condition:
Bir DMF Managed Target' ın izin verilen durumlarını Management Facet'
e göre belirleyen bir Boolean beyandır.
DMF Policy:
Bir DMF Condition ve beklenen davranış biçimidir; örneğin, Execution Mode, Target
Filters ve Schedule gibi. Bir Policy sadece bir Condition içerebilir. Policy' ler
kullanılabilir veya kullanılamaz duruma getirilebilirler.
DMF Policy Category:
Policy' leri yönetmeye yardımcı olan ve kullanıcı tarafından belirlenmiş
bir kategoridir. Kullanıcılar, Policy' leri değişik Policy kategorileriyle sınıflandırabilirler.
Bir Policy sadece bir kategoriye ait olabilir. Veritabanı sahipleri bir veritabanını
bir Policy kategorisine üye yapabilirler. Sadece kategorilerine üye olunmuş Policy'
ler bir veritabanını yönetebilirler. Tüm veritabanları dolaylı olarak varsayılan
Policy kategorisine üyedir.
DMF Execution Mode:
Bir Policy' nin nasıl çalıştırılacağını belirler. İstendiğinde çalıştırılan
modlar Check ve Configure' dır. Otomatik çalışma modları ise:
- Changes are attempted, prevent out-of-compliance (Değişiklik yapılmak istendiğinde,
kuraldışıysa önle)
- Changes are attempted, log out-of-compliance (Değişiklik yapılmak istendiğinde,
kuraldışıysa kayıt tut)
- On Schedule, log out-of-compliance (Zaman ayarlı olarak, kuraldışıysa kayıt
tut)
Effective Policy:
Bir hedefin Effective Policy' leri, bu hedefi yöneten Policy' lerdir.
Bir hedef ile ilgili bir Policy, sadece aşağıdaki şartlar gerçekleştiğinde etkindir:
- Policy etkinleştirilmişse (Enabled)
- Hedef, Policy' nin hedeflerine aitse.
- Hedef veya hedeflerden bir tanesi bu Policy' yi içeren Policy grubuna üyeyse.
DMF' i nerelerde kullanabiliriz?
Aşağıdaki iki örneği inceleyin lütfen.
- Meselâ şirket politikanız Database Mil veya SQL Mail' in kullanılmasını yasaklıyor.
Bu iki özelliğin kontrol edilmesi için bir Policy oluşturulur. Bir yönetici, mevcut
ayarları ve Policy' yi karşılaştırır. Eğer ayarlar Policy kurallarına uymuyorsa,
yönetici Configure modunu seçer ve Policy SQL Server ayarlarını Policy ile uyumlu
hale getirir.
- AdventureWorkds veritabanınızdaki tüm Stored Procedure' larınının isimlerinin
AW_ ile başlamasının gerektiğini farzedelim. Bu politikanın zorlanması için bir
Policy oluşturulur. Bir yönetici bu Policy' yi test eder ve Policy kurallarına uymayan
Stored Procedure' ların bir listesini hazırlar. Eğer gelecekteki Stored Procedure'
lar bu isimlendirme standardına uymazlarsa, Stored Procedure' lar için kullanılan
oluşturma komutları (CREATE PROC) hata verecektir.
|
|
Anasayfa
Sonraki Sayfa -> |
|