[ itf @ 11.10.2017. 21:50 ] @
Ne razumijem kada bi u praksi nakon full backupa trebao upotrijebiti diferencijalni i/ili backup transakcijskog dnevnika. To dvoje mi se čini da je nepotrebno u kombinaciji tj. da je nakon full backup-a dovoljno samo jedno ili drugo?

Primjerice, ako se radi full backup baze svaki dan u 0:00, da li je nakon njega svejedno da li se radi diferencijalni ili backup transakcijskog dnevnika svakih 15 minuta? U čemu je razlika?

[ djoka_l @ 11.10.2017. 22:16 ] @
Da li je pitanje teorijsko ili praktično?

Diferencijalni bekap sadrži sve izmenjenje blokove od POSLEDNJEG FULL bekapa
Transaction log bekap sadrži one izmene koje su nastale nakon poslednjeg bekapa transaction loga.

Dakle, ako si imao full backup u 00:00, i bekape kasnije na svakih 15 minuta, onda će diferencijalni bekap u 08:00 imati sve promene od 00:00 do 08:00, dok će transaction log bekap u 08:00 imati one promene nastale od 07:45 do 08:00

Sa prvim tipom, recovery dovodi bazu u stanje u kojem je bila kod poslednjeg diferencijalnog bekapa. Ako recovery koristi transakcioni log, onda možeš da radiš point in time recovery, tj. da primenjuješ bekape samo do vremena do kojeg hoćeš.

Transakcioni log bekap pravi manje bekape, ali traje duže oporavak baze, diferencijalni uvek samo raste (do sledećeg full backupa).

EDIT: zamisli da i jedan i drugi bekap prave po 1GB fajlova. Posle n perioda, diferencijalni bekap će ti zauzeti n*(n+1)/2 GB, a transakcioni n GB. Da bi bazu vratio u stanje posle k bekapa potrebno je da primeniš posle povratka full bekapa 1 diferencijalni povratni bekap ili k transakcionih.
[ itf @ 11.10.2017. 22:44 ] @
Citat:
Da li je pitanje teorijsko ili praktično?

Praktično.

Citat:
Diferencijalni bekap sadrži sve izmenjenje blokove od POSLEDNJEG FULL bekapa
Transaction log bekap sadrži one izmene koje su nastale nakon poslednjeg bekapa transaction loga.
Ovo sam također htio pitati tj. da li je samo od posljednjeg full backupa ili gleda eventualno i posjeće diferencijalne backupe? Po ovome što si napisao, ja zapravo mogu napraviti overwrite postojećeg diferencijalnog backupa jer zadnji diferencijalni ionako ima sve ono što i ovi prethodni?

Također, malo sam testirao sa povećim transaction logom od 1 GB, i bez obzira što sam napravio njegov backup njegova veličina je i dalje ista?

Citat:
Sa prvim tipom, recovery dovodi bazu u stanje u kojem je bila kod poslednjeg diferencijalnog bekapa. Ako recovery koristi transakcioni log, onda možeš da radiš point in time recovery, tj. da primenjuješ bekape samo do vremena do kojeg hoćeš.
Znači, bez obzira što diferencijalni backup ima sve podatke iz tog vremena point in time se može vraćati samo ukoliko postoji backup transakcijskog dnevnika? Naravno, recovery model je FULL.

Citat:
Transakcioni log bekap pravi manje bekape, ali traje duže oporavak baze, diferencijalni uvek samo raste (do sledećeg full backupa).

Da li to znači da svaki backup trans. dnevnika mora ići u zasebnu datoteku tj. ne mogu napraviti overwrite kao u slučaju diferencijalnog jer bi time izgubio transakcije iz prethodnog vremenskog razdoblja?


[ djoka_l @ 12.10.2017. 07:17 ] @
Citat:
Ovo sam također htio pitati tj. da li je samo od posljednjeg full backupa ili gleda eventualno i posjeće diferencijalne backupe? Po ovome što si napisao, ja zapravo mogu napraviti overwrite postojećeg diferencijalnog backupa jer zadnji diferencijalni ionako ima sve ono što i ovi prethodni?


Uvek je od poslednjeg full backupa. Možeš da čuvaš više verzija diferencijalnog bekapa, ali ti je dovoljan samo poslednji da dovedeš bazu u stanje u tom momentu.

Citat:
Također, malo sam testirao sa povećim transaction logom od 1 GB, i bez obzira što sam napravio njegov backup njegova veličina je i dalje ista?


Transkcioni log obično ne smanjuje log fajl, samo označava prostor kao slobodan.

Citat:
Znači, bez obzira što diferencijalni backup ima sve podatke iz tog vremena point in time se može vraćati samo ukoliko postoji backup transakcijskog dnevnika? Naravno, recovery model je FULL.


Pa, da. U diferencijalnom bekapu se nalaze SVI blokovi koji su izmenjeni od full bekapa, ali ne mora da znači da su izmenjeni blokovi upisani u redosledu njihovih izmena. Naravno, ako čuvaš više dif bekapa, to ti je neka vrsta point in time bekap strategije, ali transakcioni log ti daje "finiju granulaciju"

Citat:
Da li to znači da svaki backup trans. dnevnika mora ići u zasebnu datoteku tj. ne mogu napraviti overwrite kao u slučaju diferencijalnog jer bi time izgubio transakcije iz prethodnog vremenskog razdoblja?


Obično je format imena bekapa transakcionog loga kombinacija imena baze, datuma i broja sekvence, tako da nema prepisivanja postojećeg log bekapa, ali je jednostavno da počistiš višak.
[ itf @ 12.10.2017. 08:30 ] @
OK. Hvala. Budem se sad malo igrao sa SSMS-om da vidim kako će to biti u praksi.