SQL Server mirroring’de istemci yeniden yönlendirme


Mirroring çok konuşulan bir uygulama… Ve mirroringde uygun istemci sürücülerini kullanıyorsanız, connection string’de mirror’ın da belirtilebileceği de sıkça tekrarlanan bir bilgi.

Ama işin sadece bundan ibaret olmadığını biliyor muydunuz? Uygun istemci sürücüleri mirroring’den haberdar oldukları için mirror’lı bir bağlantı yapıldığında mirror’ın bilgisini de alıp bellekde bulunduruyorlar. Üstelik bu uygulama, connection string’de mirror server belirtilmiş olsa da olmasa da yapılıyor.

Bu çalışma şeklinin birkaç önemli anlamı var:

– Uygun istemci sürücüleriyle çalışıyorsanız, mirrorla ilgili hiçbir bağlantı bilgisi girmeseniz de sisteminiz mirrordan yararlanabilir.

– Connection string’e mirrorın bilgisini girmiş olsanız bile, bağlantı sağlandığında mirrorla ilgili farklı bir bilgi alınırsa, bu farklı bilgi bellekte tutulur ve gerektiğinde kullanılır.

– İlk bağlantı sağlandığında ya da uygulama kapanıp -yani belleği boşalıp- yeniden açıldığında, connection string’de mirror bilgisini belirtip belirtmediğiniz önem kazanır. Eğer birincil sunucuya bağlantıda sorun olmazsa, bağlantının sağlanmasıyla mirrorın bilgisi de belleğe alınmış olacaktır. Ancak birincil sunucuya bağlantı sağlanamıyorsa, mirror bilgisi de ondan alınamayacağı için, -eğer connection string’de belirtilmemişse- mirror’ın devreye girmesi mümkün olmayacaktır.

– Her durumda initial catalogue’un yani hangi veritabanına bağlanacağınızın connection string’de belirtilmesi gerekir.

– Mirror’dan tam anlamıyla yarar sağlamak için -mirror’a özel olmasa da- iyi programlama standartlarına uyulmuş olması gerekir. Burada kastettiğimiz temel konu şu: Birincil sunucudan mirrora otomatik devir sırasında devam etmekte olan transactionlar hata döndürecek ve geri alınacaklardır. Uygulamanızın bu hatayı yakalayıp transaction’ı yeniden deniyor olması gerekir ki mirror hizmetinden kesintisiz bir şekilde faydalanabilsin…

SQL 2008’de mirrroringle ilgili birkaç bonus:

– Data aktarımı sırasında eğer sıkıştırma yüzde 12,5’dan fazla fayda sağlayacaksa mirroring sırasında compression (sıkıştırma) kullanır SQL 2008. Network trafiği açısından faydası olabilecek bir durum. Ve tabii mirror’ın performansı açısından…

– SQL 2008’de page seviyesinde bazı bozulma durumlarında SQL Server otomatik olarak ilgili sayfayı mirror’dan isteyip kurtarabiliyorsa oradan kurtarmayı dener.

– Mirror’ın genel olarak performansını iyileştirmeye yönelik başka çalışmalar da yapılmıştır. Eğer 2005 mirror kullanıyorsanız ve performansın daha iyi olması sizin için önemliyse, 2008’de yakın zamanda bir test yapmanızı öneririm.

Bu yazı SQL Server, SQL Server 2008 içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s