Biztalk Terminator kullanarak, veritabanı entegrasyon sorunlarının giderilmesi

 

Önceki yazımızda, 'Biztalk Server Veritabanı'nda oluşabilecek entegrasyon problemleri ile ilgili olarak kullandığımız en temel araç ‘MessageBox Viewer’ dan bahsetmiş ve nasıl log toplayacağımızı anlatmıştık. Bu tool'un haricinde, Biztalk 2010 ile birlikte gelen ‘Monitor Biztalk Server’ ‘SQL Agent Job’ı da bize bir takım ‘integrity’ problemleri ile ilgili bilgi vermektedir.

Bu 'Sql Agent Job’ı örneğin ‘Instance’ ‘Spool’ ve uygulama ‘Queue’ları ile ilgili referans sorunlarını inceleyerek, herhangi bir hata / hatalar yakalarsa, sistem ve uygulama event log’larına hataları kaydedecektir. Aynı şekilde ‘MessageBox Viewer’ tool’uda kritik olarak gördüğü uyarıları ‘critical warnings’ kısmında belirtmektedir. Peki ilgili semptomları belirledikten sonra , sistemin tekrar eski sağlığına kavuşması için ne yapmalıyız? Bu noktada 'Biztalk Terminator', veritabanı içerisinde birbiri ile ilişkisi kesilmiş veri yapılarının temizlenmesi için kullanabileceğimiz bir tooldur. Terminator tool,’u MBV (Message Box Viewer) tarafından belirlenmiş problem, tedavi etmek amacı ile Biztalk veritabanlarında ilgili sorguları çalıştırmaktadır. Bu noktada MessageBox viewerdan farkı, sadece select sorguları değil, Update, Insert gibi veritbanını manipüle eden sorgularıda çalıştırıyor olması.

Örnek olarak diyelim ki; MBV raporu bize aşağıdaki iki tip sorunu vurguluyor:

 

MBV'de belirtilen, oluşabilecek durumlar için bu makaleyi inceleyebilirsiniz. Bu tip durumlarda server performansını olumsuz etkileyebilecek veritabanı sorunlarını gidermek için 'Biztalk Terminator' uygulamasını kullanabiliriz. Örneğin yukarıda belirten binlerce sayıdaki 'DTA Orphaned Instances' ve 'Total Active Cache Msg' nesnelerini temizlemek için: 

#1 . ‘Biztalk terminator’ uygulamasını indirip kuruyoruz.

#2 Veritabanı üzerinde yapılacak işlemler için bir servis zamanı ayırıyoruz. Bu zaman içerisinde tüm Biztalk Host’ları (Isolated Host’lar), ‘Internet Information Services’ (IIS) ve ‘SQL Server Agent’ stopped konumda olmalı. Kısaca Biztalk veritabanlarına aktif olarak bağlantı kuran tek Uygulama ‘BizTalk Terminator tool’ olarak kalmalı.

#3 Başlamadan önce, son olarak Biztalk veritabanlarının geçerli bir yedeğini almış olmanız şart. Çünkü en önemli Biztalk veritabanları üzerinde ‘update’/’delete’/’truncate’ gibi komutlar çalıştırıyor olacağız. Herhangi bir şey ters giderse back-up’dan geri dönebilmeliyiz.

#4. Terminator tool’u başlatın ve Biztalk Veritabanına bağlanın.

 

#5 ‘DTA Orphaned Instances’ ları ‘Terminate’ etmek için:

 - “Manage” butonuna tıklayın.

- ‘drop-down’ listeden “Repair Orphaned DTA Service Instances” seçeneğini seçin.

- “Parameters” tabına gelin ve MessageBox ve ‘DTA’ veritabanları ile ilgili bilgilerin doğruluğunu kontrol edin.

- “Execute” butonuna tıklayın.

 

 

Not: Yukarıdaki Uygulama, ‘SQL Agent job’ ının ilgili instance’ları silmesi için gereken değişikliği yapar. Yani silme işlemi o an gerçekleşmez ama Biztalk Sql Job’ları başladığında gerçekleşecektir.

#6 ‘Cache msg’ ları terminate etmek için:

 - “Delete” butonuna tıklayın.

- ‘drop-down’ listeden “Terminate Caching Instances” I seçin ve “Parameters” tabına tıklayın.

- “ServiceStatus” yanındaki “Select” butonuna tıklayıp “Active” seçeneğinin seçili olduğundan emin olun.

- “HostName” yanındaki “Select” butonuna tıklayıp, “BizTalkServerIsolatedHost” seçeneğinin seçili olduğundan emin olun. (Veya hepsini de seçebiliriz.)

- “Execute” butonuna tıklayın.

 

#7  Script’ler tamamlandığında, ‘ SQL Server Agent’ ını tekrar çalıştırın. Değişiklileri görmek bir süre zaman alabilir. Çünkü ‘Terminator’ Biztalk ‘Job’ larının temizliğe devam etmesi için gereken değişiklikleri uygulamıştır. ‘SQL server Agent’ I başlattıktan sonra ‘BizTalk host instance’ larını da tekrar dan başlatabilirsiniz.

Birkaç saatlik bir süre sonunda dilerseniz tekrar bir ‘MessageBox Viewer’ raporu alarak sonuçları kontrol edebilirsiniz.

Not olarak; MBV ve Terminator uygulamalarının entegre olarak da çalıştıklarını belirtmek isterim. MBV 10.13 ve üst versiyonlarda MBV uygulamasının oluşturduğu 'MBVCleanupScripts.xml' dosyası, 'Terminator' uygulaması içerisinde 'Import MBV' butonu ile 'import' edilebilmekte. Sonrasında bu MBV script'inde belirtilen semptomlar üst tarafta bulunan 'Drop-down' listeden seçilererek temizleme işlemine devam edilebilmekte.

İyi çalışmalar,

Mert Öztürk