Bu makalede AlwaysOn yapısında secondary sunucusunun sorgulanabilirliği üzerinde durmuş olacağız. Teori bilgilere fazla girmeden uygulamalı yapmak anlamamız açısından daha iyi olacağına inanıyorum.
Normal ikinci sunucumuzda herhangi bir sorgulama işlemi yapılmaz. Önceki AlwaysOn makalesinde secondary sunucusundan backup almaya çalıştığımızda hata ile karşılaşıp Readable Replica değerini Yes yaptığımızda düzelmişti. Secondary sunucusumuz üzerinde herhangi bir database’e tıkladığımızda hata verir yada new query açtığımızda hata mesajı ile karşılaşmaktayız. Bunun önene geçmek için AlwaysOn yapısında ikinci makinada okuma işlemi sağlayan bir kavram karşımıza çıkıyor şimdi bu işlemi yaptıktan sonra konfigürasyonumuza gelelim.

Resimde gördüğümüz gibi secondary sunucusunda database üzerinde herhangi bir işlem yapamıyoruz.

Secondary hangi sunucumuz olma ihtimali varsa veya olacaksa Readable Secondary ifadesi Yes yapılması gerekmektedir. Yukarıdaki işlemleri primary sunucumuz üzerinde AG’ye sağ tıklayıp properties dedikten sonra General sekmesinden yapıyoruz.

Yes değeri verildikten sonra secondary olan S1 sunucumuzda database’e ulaşabiliyormuyuz veya select çekebiliyormuyuz buna bakalım. Readable Secondary ifadesi No değerindeyken secondary sunucumuzdaki database üzerinde bir işlem yapamıyorduk.

Secondary sunucumuzda tabloarımızı görebiliyoruz. Select çekebiliyoruz çünkü okunabilirlik seçeneğine yes dedik. Sadece okuma işlemleri yapılır.

İnsert update delete işlemleri yapılamaz. Tablo silmeye çalıştığımızda hata mesajıyla karşılaşırız.


Yeni bir kolun eklemeye çalıştığımda aynı hata mesajıyla karşılaşırım.

Kısacası yapılan bu işlem Readable Secondary ifadesini aktif ederek secondary sunucusuda kullanabilme ihtimali sağlıyor.
Readable Secondary bölümünde diğer kavramlara değinmek gerekirse
READ INTENT ONLY: Bu seçenek, sadece “ApplicationIntent=ReadOnly” bağlantıları için Secondary Replica’ya erişimi açar. Eğer bir istemci doğrudan bağlanmaya çalışırsa bağlantı reddedilir. Yani, bağlantının “Read-Only Routing” üzerinden gelmesi gerekir. Eğer okuma sorgularını kontrollü bir şekilde yönlendirmek istiyorsanız, bu en iyi seçenektir. Primary Replica’ya yazma yükü bindirmeden okuma trafiğini Secondary Replica’ya dağıtabilirsiniz. Bu işlemin Yes olarak seçilmesindede herhangi bir sakınca yoktur.
NO: Secondary Replica’ları yalnızca yedekleme veya felaket kurtarma (DR) amaçlı kullanmak istiyorsanız, bu seçeneği kullanabilirsiniz.
Başka bir makalede görüşmek üzere.
“Kolaylaştırın, zorlaştırmayın; sevdirin, nefret ettirmeyin.“-Buhârî