Deadlock takibi ve
Blocking takibi yazılarımda bahsettiğim ve önerdiğim
Server Side Trace kullanımı hakkında bilgi vermek için de bir yazı yazacağımı söylemiştim, bu işte o.
Bir
Server Side Trace hazırlamanın en pratik yolu,
SQL Server Profiler aracını kullanmaktır. Öncelikle
Profiler'ı açar, istediğiniz
Event'leri ve alanları seçer, istediğiniz süzgeci koyarsınız.
Ardından "Trace Properties" penceresindeki "Run" düğmesine tıklayıp
Trace'i başlatır ve anında durdurursunuz.
Trace'in
Script'ini almak için "File->Export->Script Trace Definition->(kullanacağınız versiyona göre...)For SQL Server 2005 - 2008 R2..." komutunu seçebilirsiniz. Oluşturulan
Script'i,
Script içerisindeki "InsertFileNameHere" değerini değiştirdikten sonra (
Script içerisindeki açıklamaları okuyun lütfen) doğrudan
Query Editor'de çalıştırabilirsiniz ve
Server Side Trace'iniz çalışmaya başlayacaktır.
Bu
Trace'leri ağınızdaki başka bir sunucuda barındırmak mantıklı olacaktır. Hem üretim sunucunuzun disklerini meşgul etmezsiniz, hem eğer birden fazla
SQL Server sunucunuz varsa tüm dosyaları merkezi bir yerde tutabilir ve üretim sunucunuzu etkilemeden tetkiklerde bulunabilirsiniz.
Ben ayrıca kritik sunucularım için bu
Server Side Trace'lerinin çalışıp çalışmadığını kontrol ettirmeyi de yeğliyorum. "sys.traces"
Catalog View'ünü kullanarak çalışan
Trace'leri zaman zaman sorgulattırıp, çalışmayan
Trace'ler için haberdar olmanızı sağlayabilirsiniz. Böylece
Blocking,
Deadlock, uzun süren sorguların kaydedilmesi gibi bir
DBA için çok elzem olan bilgileri toparlama işini de garantiye almış olursunuz.