30 Eylül 2014 Salı

Transaction Log'a alternatif mi geliyor?

Merhaba!

Az önce TechEd 2014'te Always On ile ilgili bir sunumu izlerken Senior Program Manager Lead Luis Vargas'ın şöyle bir soruyu:

- Eğer Primary ile Secondary'ler arasındaki bağlantı koparsa, Primary'de Transaction Log'un şişmesini nasıl engelleriz?

Şöyle cevaplandırdığını duydum:
- Bugün Transaction Log büyümeye devam edecek, çünkü herhangi bir veriyi kaybetmek istemeyiz. Bu nedenle Transaction Log dosyası ancak tüm Secondary'ler ilgili Log'ları aldığında temizlenecektir (Truncate olacak). Örneğin eğer birkaç saatlik bir kesinti olduysa ve Transaction Log doluluğu tehlikeli bir noktaya geldiyse, o zaman ilgili replikaları Availibility Group'tan çıkarabilirsiniz ve bağlantı geri sağlandığında replikaları tekrar eklersiniz. Gelecekte bu Transaction'ları Transaction Log'un dışında başka bir yerde konumlandırmayı düşünüyoruz.

Bu sizin ne kadar ilginizi çeker bilemiyorum, ama benim çok ilgimi çekti!

Kolay gelsin,
Ekrem Önsoy

2 yorum:

Anonim dedi ki...

İlginçmiş gerçekten,Oracle da olduğu gibi undo/redo log tarzı bir yapıya gidecekler heralde

--Serdar Kurt--

Ekrem Önsoy dedi ki...

Benim tahminim, tampon bir alan gibi düşünebiliriz. Maksat, replike ediledek Transaction'lar, Transaction Log doldurup taşırmasın ve veritabanını aşağı indirmesin. Başka, ara bir bölgede tutulsun bu Transaction'lar. Bu alan için de muhtemelen tavan boyut ayarı gibi ayarlar olur ve belli bir boyut geldiğinde otomatik olarak içi boşaltılıyor olabilir. Tabii ki bu durumda henüz aktarılmamış Transaction'lar silineceğinden LSN zinciri bozulmuş olur ve Database Mirroring, AlwaysOn ve Replication için yeniden kurulum gerekir; ama Primary veritabanı hala çalışıyor olur.