Bu makalede mssql server multi server jobs konusunu detaylı bir şekilde görmüş olacağız. Sql Server’da bir job tanımlarken bu job’ın birbirleriyle senkron olan sunucularda da oluşturmasını isteriz. Birinci sunucuda oluşturmuş olduğumuz job ikinci sunucuda oluşmaz bunun için Multi Server Jobs yapısı kullanılmaktadır. Bu yöntem birden fazla sunucu olan sistemlerde çok kullanışlı bir yapı olarak karşımıza çıkmaktadır.
Şimdi uygulamalı bir şekilde Multi Server Jobs oluşturma adımlarımıza geçebiliriz.
SQL SERVER AGENT üzerine sağ tıklanır ve Multi Server Administration kısmında Make this a Master… kısmı seçilir. Yapmış olduğumuz sunucu ve instance adını ana sunucu yap seçeneğine işaretliyoruz.

Make this a Master: Bu seçenek, seçili SQL Server örneğini ana sunucu (master server) olarak belirlemenizi sağlar. Çoklu sunucu yönetiminde, ana sunucu diğer hedef sunuculara (target servers) iş gönderimlerini koordine eder ve yönetir (örneğin, zamanlanmış işler gibi).
Make this a Target: Bu seçenek, seçili sunucuyu hedef sunucu (target server) olarak belirler. Hedef sunucu, ana sunucudan gelen işleri alır ve bu işleri belirtilen şekilde yürütür. Çoklu sunucu ortamlarında bu yapı, birden fazla SQL Server örneği arasında merkezi iş yönetimi sağlamak için kullanılır. Ana sunucu işleri tanımlar ve hedef sunucular bu işleri ana sunucudan periyodik olarak alıp uygularlar.
Yukarıdaki açıklamalardan sonra devam ediyoruz. Gelen ekranda Next deyip ilerliyoruz.

Gelen ekranda Multi server yapısı için özel bir Operator oluşturabiliriz. Noktalı virgül ile birden fazla mail adresi tanımlaması yapabiliriz. Operatör yapısının ne olduğunu öğrenmek için ilgili makaleyi okumalısınız. Bu alan boş bırakıla bilir.
Operator için mail adresimizi girdikten sonra NEXT deyip bir sonraki aşamaya geçiyoruz.

Gelen ekranda hangi instance üzerinde Job çalıştırmak istiyorsak ilgili instance’ları seçiyoruz. Ben sunucularım arasında önceden Registered Servers yapısı oluşturduğum için aşağıdaki resimde local Server Groups klasörü altında bu sunucular görülmektedir. SSMS‘de Registered Servers sekmesini görmüyorsanız View | Registered Servers ‘a gidin veya Ctrl + Alt + G tuşlarına basın. View sekmesinden de ulaşabilirsiniz. Registered Servers ile ilgili makaleye ilgili linkten ulaşabilirsiniz.
Multi Server Jobs yapmak istediğimiz instance’lar Local Server Groups altında bulunmuyorsa alt tarafta Add Connecton… diyerek eklenebilir. Registered server şart olmayan bir yapı.

Tekrar kurulum ekranına geldiğimde Hedef instance’ımı seçip resimde sağ’a doğru olan ok yönüne tıklayıp Target servers kısmına alıyorum.

Local Server Groups klasör içindeki hedef sunucumuzu seçtikten sonra Connection deyip bağlantımızı gerçekleştiriyoruz.

Daha sonra SQL Server, aşağıdaki ekran görüntüsünde gösterildiği gibi ana ve hedef sunucunun sürümlerinin uyumlu olup olmadığını kontrol edecektir. Gelen ekranda iki sunucumuzun bağlantısını gördükten sonra Close deyip ilgili bölümü kapatıyorum. Bağlantımızı sağladıktan sonra Next deyip bir sonraki aşamaya geçiyoruz.

Master Server Login Credentials ekranında master ve target sunucular arasındaki güvenlik kontrol edilir. Gerekirse, bir oturum açma oluşturmak ve ona master sunucuya haklar atamak için onay kutusu seçilebilir.
Gelen ekranda ilgili Checkboxs’ımızı işaretledikten sonra Next deyip bir sonraki aşamaya geçiyoruz.

Gelen ekran da Finish deyip Multi Server Jobs yapımızı oluşturuyoruz.


Yapımızı oluştururken hata mesajı alıyoruz. Bu hata mesajlarının sayfamızın arama kısmından bulabilirsiniz. Aşağıdaki resmin hata çözümünü ilgili makalede bulabilirsiniz.

Bir diğer hatamızın çözümünü ilgili makalede bulabiliriz.

Belirtilen makalelerden yukarıdaki hata sorunlarımızı çözdükten sonra başarılı bir şekilde Multi Server Jobs’ımızı oluşturmuş olduk.

Her şeyin doğru şekilde yapılandırıldığını doğrulamak için her iki sunucuya bağlanıyoruz ve SQL Server Agent‘ın yanında ‘(MSX)’ veya ‘TSX’ bulunmalıdır. Master ve Target olduklarını baş harfinden anlayabiliriz.

Kurulum işlemini tamamladıktan sonra uygulamalı bir şekilde MSX altında bir Job oluşturup TSX ile konfigürasyonu sağlayalım.

Gelen ekranda Job bölümlerini tanımlıyoruz. Job nasıl oluşturulduğunu ve ne gibi ayarlamalar yapıldığını ilgili makaleden bulabilirsiniz.
Burada bizim için asıl önemli olan Job’ın Targets bölümünde ilgili Hedef sunucunun seçilmesi gerekmektedir. Target multiple servers deyip hedef olan S3\TEST sunucumuzu seçiyoruz

Ana sunucumda ilgili Job’ı oluşturmuş oldum.

Aynı yapının S3\TEST sunucum üzerinde oluştuğunu görmüş oldum.

Ana sunucuda tanımlamış olduğumuz Job’ın Notifications kısmında Multi Server Jobs yapımızı oluştururken, oluşturduğumuz operatör ile Job başarılı veya başarısız olup olmadığını mail ile kullanıcılarımıza iletebiliriz.

Yukarıdaki ayarlamalardan sonra Sql Server Agent kısmına sağ tıklayıp Multi Server Administration kısmında Manage Target Servers kısmından oluşturduğumuz yapının yönetimi yapabiliriz.

Gelen ekranda Hedef sunucumuzun durumunu, hedef sunucu listesini ve sunucu saatini göstermektedir. Hedef sunucunun yerel saate göre verisi ve saati hedef sunucunun ana bilgisayarı son kez yokladığı saat olarak karşımıza çıkmaktadır.
Force poll düğmesi, seçili hedef sunucunun işlemini ana sunucuya zorlar. Force Defection düğmesi, hedef sunucunun silinmesine izin verir.Yapıyı tamamen silmektedir. Post-Instruction, talimatların gönderilmesine izin verir.

Target(Hedef) sunucudaki Sql Server Agent kısmına sağ tıklayıp Multi Server Administration deyip Defect işlemi yapılır.

Gelen ekranda Yes ifadesi veya Force Defection seçilip Yes denilirse kurmuş olduğumuz bağlantının silinmesine sebep olacaktır.

Yes denildikten sonra aşağıdaki resimde de görüldüğü gibi Multi Server Jobs yapımızın silinmesine sebep olacaktır. Diğer nodelardan silinmesi kaynak yapısınında otomatikmen silinmesine sebebiyet verecektir.

Aşağıdaki komutlarla genel durum gözlemlenebilir. Ayrıca ikinci komutta hedef sunucuda kullanılmak için seçilen joblar silinebilir.
SELECT * FROM sysdownloadlist
WHERE target_server = 'SERVER\INSTANCE'
delete from sysdownloadlist where target_server='SERVER\INSTANCE'
Bu makalede Multi Server Jobs yapısını görmüş olduk. Başka bir makalede görüşmek dileğiyle..
Onlar, “Allah’ın Adi Anıldıgı Zaman Kalpleri Ürperir. ” Enfal- 2