Forum

sql 2005 Maintenanc...
 
Bildirimler
Hepsini Temizle

sql 2005 Maintenance Plans

2 Yazılar
2 Üyeler
0 Reactions
1,630 Görüntüleme
(@bayramceylan)
Gönderiler: 21
Eminent Member
Konu başlatıcı
 

sql 2005 Maintenance Plans da sağ tıkladığımda yeni maintenance plans gelmiyor. data base üzerinde sağ tıklayıp backup dediğimdede script larda job pasif halde geliyor yarımdımcı olurmusunuz.

 
Gönderildi : 18/04/2009 12:02

(@ugurdasdemir)
Gönderiler: 1824
Noble Member
 

SQL Server 2005"te
Veritabanı Yedekleme Planı (Recovery) ve
Maintenance Plan

Merhabalar. Bu yazımızda veritabanı kurtarma (recovery)
seçeneklerini irdeleyeceğiz. Maintenance plan hakkında inceleme
yaptıktan sonra örnek uygulamalarla pekiştireceğiz.

Veritabanı Yedekleme Planı (Recovery) Türleri

 
Veritabanımızın belli aralıklar yedeklerini alırız. Ancak,
acaba veritabanımız üzerinde hangi recovery model formatında yedekleme
işlemi gerçekleştiriliyor.

SQL Server Management Studio"da veritabanı üzerinde sağ tuş yaptıktan sonra, gelen menüden Properties seçeneği tıklayalım.


1.Resim: Recovery ekranını açma.

Properties arayüzünden, Options seçeneğini tıkladığımızda veritabanımız için geri yükleme seçeneklerini görüyor olacağız.


2.Resim: Recovery seçenekleri.

Üç çeşit geri yükleme çeşidi bulunmaktadır:

Simple Recovery Model:
Bu model ile veritabanımızı basit olarak kayıt edebiliriz. Bu yedekleme
türünü küçük çaplı veritabanları için veya yanlız okuma işlemi yapılan
yani üzerinde sorgu yürütülen veritabanları için kullanabiliriz. Bu
seçenekle beraber Transaction Log"ları kayıt edemeyiz. Bu tür yedek
aldığımızda, son yedeğimizden sonra geçen sürede yapılan değişikleri
kurtarma imkanımız yoktur.
Full Recovery Model:
Full Recovery Model metodunda Transaction Log"lar kayıt edilir.
Veritabanını geri yükleme durumunda veritabanındakilerle verilerle
birlikte bütün Transaction Log"lar elde edilebilir. Simple Recovery
Model"in yanında, Full Recovery Model"inde veriler üzerinde yapılan tüm
değişikler kayıt edilir. Bu model sayesinde veritabanında son ana kadar
yapılan değişiklikler kurtarılabilir. SQL Server 2005"in recovery
modeli varsayılan değer olarak Full Recovery Model"dir.
Bulk logged Recovery Model: Bulk
operasyonları ile elde edilen veriyi tutması haricinde, Full Recovery
kurtarma modeli ile benzerlik göstermektedir. Eğer sunucu göçmeden önce
elimizdeki son yedek Full Recovery Model"i ile elde ettiğimiz yedek
türü ise, bunu geri yüklediğimizde veritabanımızda hiç bir değişiklik
olmadan kullanmaya devam edebiliriz. Ancak Bulk Logged Recovery
Model"inde bulk işlem olarak yaptığımız işlemleri geri alamayız. Bulk
logged Recovery modelinde bulk işlemler haricindeki (örneğin bulk copy
ve SELECT INTO olarak gerçekleştirdiğimiz işlemleri) tüm  işlemleri ve
verilerimizin son haline kadar geri elde etmemize olanak tanır.
Maintenance Plans İle Yedekleme İşlemi

SQL Server 2005 üzerinde bakım planlama (maintenance plans)  işlemi
SQL Server 2000"e göre bir çok özellik içermektedir. SQL Server 2005
Maintenance Plans sayesinde bir çok özelliği grafik arayüzü sayesinde
daha hızlı ve pratik bir şekilde yapabilmekteyiz.

Maintenance Plan"i iki şekilde başlatabiliriz.

İlk olarak, Microsoft SQL Server
Management Studio"dan sol tarafta veritabanı nesnelerinin listelendiği
Object Browser"dan yapabiliriz. Object Browser"da listelenen ağaç
yapısından Management sekmesinin üzerinde sağ tuş ile tıklayalım.


3.Resim: Management Studio aracılığı bakım planlaması.

Açılan menüden New Maintenance Plan diyerek yeni bir bakım planlaması oluşturabiliriz.


4.Resim: Management Studio aracılığı bakım planlaması.

İkinci olarak ise, SQL Server Business
Intelligence Development Studio aracılığı ile oluşturabiliriz. SQL
Server Business Intelligence Development Studio"ya menü olarak
sırasıyla All Programs | Microsoft SQL Server 2005 | SQL Server
Business Intelligence Development ile ulaşabiliriz.


5.Resim: Management Studio aracılığı bakım planlaması.

SQL Server Business Intelligence Development Studio"da üstteki File
menüsünden New  | New Project seçeneğini seçerek yeni bir proje
oluşturalım.


6.Resim: Integration Services projesi oluşturma.

Gelen proje seçeneklerinden Project Integration Services"i seçerek bakım planlama projemizi başlatabiliriz.

Aslına bakarsanız, görevi oluşturduktan sonra yapacağımız işlemler
çokta kompleks işlemler değildir. Maintenance plan ekranında sol
panelde yer alan kontrol kutusundan kendi akışımıza uygun olan
elemanları seçeriz. Seçtiğimiz elemanları tutup sürüklemek suretiyle
kullacağımız alana bırakırız. Kullanacağımız diğer nesnelerle okları
kullanarak ilişkilendirebiliriz. Yerleştirdiğimiz herbir elementi çift
tıklayarak konfigurasyon işlemlerini gerçekleştirebiliriz.

Önemli görevlerden bir tanesi de veritabanı seçme işlemidir.
İşlemlerimizi hangi veritabanı üzerinde işleteceğimizi seçebiliriz.

SQL Server Management Studio İle Maintaince Plan Oluşturma

Maintenance Plan Wizard"ı çalıştıralım. SQL Server Management
Studio"yu açalım. Object Explorer"dan Management klasörüne gelelim.
Eğer Object Explorer"ı göremiyorsak, Managemenet Studio"nun üstünde yer
alan menüden sırasıyla View->Object Explorer
tıklayalım. Maintenance Plans klasörü üzerinde sağ tuşla tıklayalım.
Gelen menüden Maintenance Plan Wizard seçeneğini seçelim.


7.Resim: Yeni Maintaince Plan başlatma

Sihirbazın ilk ekranı olan karşılama ekranı karşımıza gelecektir. Next komut düğmesine tıklayalım.

Karşımıza gelen ekranda, Select a Target Server
seçeneği görünecektir. Oluşturacağımız plana isim verelim ve hedef
seçelim. Maintenance planın kullanacağı yetkilendirme türünü seçerek
Windows yetkilendirme mi yoksa SQL Server yetki türümü olduğunu
belirleyelim. Hangi seçeneği seçersek seçelim, seçtiğimiz kullanıcının,
maintenance planı yapacağımız veritabanında yetkisi olup olmadığından
emin olmalıyız. Next komut düğmesine tıklayalım. 
Sonrasında gelen ekranımız "Select Maintenance Tasks" ekranıdır.
Üzerinde yapılandırma yapabileceğimiz görevler hakkında bir liste
karşımıza gelecektir bu ekranda.  
Maintaince ekranımız şu şekilde görünmektedir.


8.Resim: Yeni Maintaince Plan başlatma.

Bu örneğimizde, bütün seçenekleri aktif hale getirelim.
Maintaince Plan, veritabanı yöneticisinin SQL Server üzerinde yapabileceği önemli işlemlerden biridir.
Model kutusunda çeşitli seçenekler mevcuttur.
Bütün veritabanlarınıSistem veritabanlarınıKullanıcı veritabanlarını İstediğimiz bir veritabanını seçebiliriz.


9.Resim: Yeni Maintaince Plan başlatma

İşlem yapacağımız veritabanımızı seçtikten sonra ayarlarımız şu şekilde görünecektir.


10.Resim: Yeni Maintaince Plan başlatma

Maintenance Plan Tasks

Maintenance Plan ile şu işlemleri yapabiliriz:


11.Resim: Maintenance Plan Task

Şimdi bu işlemler üzerinde inceleme yapalım.

Back Up Database Task

Veritabanı görev yedekleme işlemi SQL Server veritabanı yedekleme işleminden farklıdır.
Back Up Database
görevi ile, oluşturduğumuz paket bir veritabanının veya birden fazla
veritabanının yedeğini alabiliriz. Eğer tek bir veritabanı üzerinde
Back Up Database Task görevini işleteceksek, yedekleme bileşeni olarak,
veritabanı veya veritabanı dosyaları ve dosya gruplarını seçebiliriz.

Back Up Database görevinin desteklediği yedekleme planı ve yedek türleri şu şekildedir.  


12.Resim: Maintenance Plan Task

Check Database Integrity Task

Birinci görev olan ?Data Check Integrity? seçeneği
veritabanı yapısal bütünlüğünü kontrol eder. Örnek olarak, SQL içindeki
boş dis alanı kontrolü,  sistem metadata tabloları arasındaki uyumluluk
kontrolünü ve yapısal kontrolü sağlar.  Bu görev yaygın ve yoğun olarak
kullanılır. Bu görevi zamanlamamız ve çalıştırmamız oldukça kısa
zamanımızı alır. TempDB"de yeterli disk alanı olup olmadığından emin
olmamız gerekmektedir.
Bir çok sihirbaz ekranında olduğu gibi,
hedef olan nesneyi seçmemiz gerekmektedir. Bu bütün veritabanları
olabileceği gibi, özellikle seçtiğimiz bir veritabanı da olabilir. Bu
örnek için AdventureWorks veritabanı seçeceğiz.
Bu ekranda, ekleme veya çıkarma işlemi için seçme kutuları karşımıza
gelecektir. Bu örneğimiz için bütün seçme kutularını seçelim. Aşağıdaki
T-SQL kodu sihirbaz ile oluşturduğumuz işlemi yapmaktadır.

USE AdventureWorks
GO
DBCC CHECKDB WITH NO_INFOMSGS

Not: ?WITH NO_INFOMSGS? parametresi gereksiz bilgi mesajlarına karşı korumaktadır.

Execute SQL Server Agent Job Task

SQL Server Agent job"larını çalıştırmak için kullanılan görev seçeneğidir. SQL Server Agent
servisi, SQL Server üzerinde belirli aralıklarla çalıştırılması
ayarlanmış olan işleri (jobs) çalıştırılmasını sağlayan servistir. Job
(iş) oluşturmak için  T-SQL kullanabileceğimiz gibi Management Studio
aracılığı ile de oluşturabiliriz. Bunların yanı sıra, paket oluşturup
çalıştırarak da SQL Server 2005 üzerinde görev paketi oluşturabiliriz.
Execute SQL Server Agent Job görevini kullanarak, SQL Server 2005
bileşenleri ile ilişkili olarak yönetici görevi olarak
işlettirebiliriz. 

Execute T-SQL Statement Task

Execute T-SQL Statement görevi T-SQL komutları çalıştırmamızı sağlayan görev işletme yöntemidir. 
Bu görev yöntemi Execute SQL görevi ile benzerlik göstermektedir.
Bunlara rağmen, Execute T-SQL Statement görevi ile yalnızca
Transact-SQL versiyonunu destekler. Onun haricinde kullandığımız SQL
komutlarını desteklemez ve çalıştırmaz. Eğer sorgumuzla birlikte
parametre kullanarak sorgumuzu işleteceksek, Execute T-SQL Statement görevi yerine Execute SQL görevini kullanmalıyız. 

History Cleanup Task

History Cleanup görevi ile SQL Server"daki msdb veritabanındaki geçmiş tabloları silebiliriz.

Maintenance Cleanup Task

Maintenance Cleanup görevi; belirlediğimiz sunucu
üzerindeki maintenance plan raporlarını veya yedekleme dosyalarını
silme işlemini gerçekleştiren görevdir.

Maintenance Cleanup görevi, herhangi bir dosya veya dosya grubunu
silmemiz için seçenek imkanı sunmaktadır. Seçenek olarakü, belirli
uzantıya sahip olan dosyaları silme imkanı tanımaktadır.

Notify Operator Task

Yedekleme ünitesinde yapılan işlemin başarılı olup olmadığının uyarısını verdirtebiliriz.

Notify Operator görevi, SQL Server Agent operatörüne uyarı
mesajı göndermekle görevlidir. SQL Server Agent operatörü uyarıları
kabul eden belirli bir gruba sahiptir.

Notify Operator"ü kullanarak, paketimizde belirlediğimiz belirli bir
işlem sonucunda kendimize uyarı mesajı gönderebiliriz. Bu uyarı
mesajlarını eposta olarak, sayfa olarak veya net send komutu
ile belirli bilgisayarlara gönderebiliriz. Her bir operatör farklı
metodlarla uyarılabilir. Örneğin, OperatörA eposta ve sayfa ile
uyarılırken, OperatorB net send komutu ile uyarılabilir. Bu
operatorler, görev tarafından uyarı mesajı olan alıcı operatör, Notify
Operator görevi üzerinde OperatorNotify koleksiyonun üyeleri olmaları
gerekiyor.

Rebuild Index Task

SQL Server veritabanındaki tablo ve görünümler içindeki dizin yapısının yeniden derlenmesini sağlar.  
Bu adım, tanımlanmış olan dizinin sihirbaz aracılığı ile belirttiğimiz şekilde düzenler. 

?Change free space per page? seçeneği, her bir Index Page dosyası için
ayrılacak olan alanı belirlememizi sağlar. ?Sort results in tempdb?
seçeneği, çalışılan verilerin üzerinde sıralama işlemi yapılacağı
zaman, hafıza yer kaplamak yerine tempdb veritabanı içinde işlem
yapımını gerçekleştirir. ?Ignore Duplicate Keys?
seçeneğini seçerek, bir çok veri girişi gerçekleştiğinde ve çift
anahtar olduğunda bu durumun göz ardı edilmesi gerektiğini belirtmiş
oluruz.  ?Keep Index Online? seçeneğini seçerek, yeni bir dizin (index)
oluştururken bile, arka tarafta kullanıcıların var olan dizinleri
(index) kullanabilmesine imkan tanırız.

Aşağıdaki T-SQL kodu bu adımda yaptığımız işlemi yapmaktadır.

Reorganize Index Task

Reorganize Index görevi, SQL Server üzerindeki veritabanlarındaki ve
görünümlerdeki dizin yapısını yeniden düzenleme işlemini sağlar.
Reorganize Index
görevini kullanarak, oluşturduğumuz paketi tek veritabanı üzerinde veya
birden fazla veritabanı üzerinde çalıştırabiliriz. Tek bir veritabanı
üzerinde çalıştığımız sırada, yeniden düzenlemek istediğimiz dizinleri
(index) tablo ve görünüm bazında seçebiliyoruz.

Reorganize Index görevi, ek olarak Compact Large Object Data
seçeneği sunmaktadır. Bu seçenek sayesinde; IMAGE, TEXT, NTEXT,
VARCHAR(MAX), NVARCHAR(MAX), VARBINARY(MAX) veya XML veri türleri
üzerinde işlem yapılmasına uyumlu hale gelir.

Aşağıdaki T-SQL kodu sihirbazın bu adımının yaptığı işlemi yapmaktadır.

Shrink Database Task

Shrink Database görevi, veritabanı ve log dosyalarımızın fiziksel
boyutu üzerinde indirme işlemi yapma görevidir. ?Shrink database when
it grows beyond? alanına girilen değer, job
(iş) başladığı zaman değerlendirilecek olan değerdir. Eğer veritabanı
boyutu,  buraya girilen boyuttan daha fazla boyuta ulaşırsa, bu görev
çalıştırılacaktır.

Bir sonraki adım ?Amount of free space to retain? adımıdır. SQL
Server"ını veritabanı için net olarak ne kadar alan ayırabileceğini
belirlediğimiz adımdır. 

Eğer boş alan sıfır olarak kalırsa, her bir veritabanı ihtiyacı
olan alanı SQL motoruna bildirir. Ek disk alanı işletim sistemi
tarafından sağlanır. 

?Return freed space to operating system? seçtiğimizde, SQL"in
herhangi bir boş alana ihtiyaç duyduğunda işletim sisteminden yeniden
talep eder. Diğer taraftan ?retain? seçeneği ile boş alanın SQL"de
kalmasını sağlayabiliriz.

Aşağıdaki T-SQL kodu bu sihirbazın yapmış olduğu işi üretiyor. 

Update Statistics Task

Update Statistic görevi, belirlediğimiz tablolar
üzerindeki bir veya birden fazla istatistik grup anahtar değerlerinin
güncellenmesi işlemini görevini yürütür. 
Update Statistics
görevini kullanarak oluşturduğumuz görev paketi, tek veritabanı veya
birden fazla veritabanı üzerinde istatistik günceller. Eğer tek bir
veritabanı üzerinde istatistik güncelleme işlemi gerçekleştirilecekse,
tabloların mı yoksa görünümlerin mi istatistiklerinin güncelleneceğini
özel olarak belirleyebiliriz. Yapcağımız özel konfigürasyonlar ile
bütün istatistikleri güncelleyebileceğimiz gibi, yalnızca kolon
istatistiklerini veya yalnızca dizin (index) istatistiklerini
güncelleyebiliriz.  

 
Gönderildi : 18/04/2009 13:42

Paylaş: