2013. február 5., kedd

Transaction Log backup vs. Log shipping

Üdv Nektek!



Csörög a telefonom. Hív egy hallgatóm, hogy segítsek már ötletelni, mi lehet a nyűgje az Sql szerverüknek...

Van pár adatbázisuk, amire be akartak konfigolni egy log shippinget. Mindemellett van egy jól működő Maintenance Planjük is. A log shipping megy-megy, aztán egyszer csak elhasal. De hogy még színezzük egy kicsit, nem mindegyiken hasal el, csak az 50%-án :)


Na akkor nézzük sorjában:

1.: Mit csinál a log shipping? Kér egy primary és egy secondary szervert, prim. szerveren levő adatbázisról készül egy Full Backup, az átkerül a a sec. szerverre és visszaállítjuk. Ez után pedig elkezdődik a transaction log mentése, átvitele majd visszaállítása a sec. szerveren. (Ezt 3 db job látja el)

2.: A log shippingelt adatbázisoknak muszáj FULL vagy BULK- LOGGED recovery módban lennie, hogy értelmezve legyen a tranzakciós log file mentése. (Mert ez Simple módban nincs)

3.:A Maintenace Plan tartalmaz tran log mentést is "természetesen".

4.:Mi fog történni a log shipping konfigolása után?

Mivel ugyanarról az adatbázisról két külön job is tran log mentést fog csinálni, ezért szét fog cincálódni a tran log LSN-je, és a log shipping el fog hasalni!



Megoldás:


Azoknál az adatbázisoknál, ahol log shippinget tervezünk, a Maintenance Planben csak Full Backup vagy Differential Backup műveletet végezzünk, és hagyjuk hogy a tranzakciós log mentését a log shipping végezze el!

Ha szükségét érezzük a tran logok gyűjtésének, akkor figyeljünk arra, hogy a backup retention period értéke elég nagy legyen, és egyszerűen másoljuk le a log shipping megosztott könyvtárából a log fileokat egy számunkra megfelelő helyre.

Ha nem csökken a tran log mérete, akkor a dbcc shrinkfile paranccsal lehet rajta segíteni!
(De akkor Full recovery modellben legyen az adatbázis, amikor shrinkelünk)


Ami az X-akta az esetben, az az, hogy miért csak az 50% hasalt vajon el? Nem tudom, mert nem láttam élőben a környezetet, de szinte biztos, hogy ott nem voltak adottak ugyanezek a folyamatok.


Végül, ha már egyszer elszúrtúk a tran log LSN-jént, akkor készítsünk egy Full Database Backupot, és a továbbiakban rendben leszünk.


Szép napot ! :)

1 megjegyzés:

  1. Pont ezzel kellett nekem is vacakolni nemrég. Addig nyomkodtuk, amíg elindult, de megmondom őszintén nem értettem a pontos okait :-)

    Szóval köszi a magyar anyagot !
    H.Ferenc

    VálaszTörlés