Sunteți pe pagina 1din 23

COPII DE REZERV I

RESTABILIRE
Corina Negara

Asigurarea securitii datelor

Pentru a asigura integritatea datelor este


necesar de a avea cel puin o copie de
rezerv.
Administratorul BD trebuie:

S minimizeze numrul de operaii necesare


restabilirii datelor
S previn probleme ce pot aprea (pn la
apariia lor!)
S restabileasc n timp minimal
S verifice corectitudinea restabilirii datelor.

Asigurarea toleranei la erori

Folosirea vectorilor RAID;


Utilizarea echipamentului ce protejeaz
de curent electric;
Copiere de rezerv regulat.

Prevenirea erorilor

Unul din scopurile administratorului BD prevenirea erorilor i


elaborarea strategiilor de nlturare.
Erorile ce pot aprea:

Pierderea informaiei de pe discul cu date;


Pierderea informaiei de pe discul cu jurnalul de tranzacii;
Pierderea informaiei de pe discul de sistem;
Eecul serverului;
Calamiti naturale;
Furtul datelor;
Furtul purttorului de informaie;
Defecte ale puttorului copiilor de rezerv;
Defecte ale dispozitivului de restabilire a datelor;
Eroare neintenionat a utilizatorului;
Aciuni maliioase ale angajailor.

Determinarea strategiei de restabilire a


datelor

Strategii:
1.

2.
3.

Minimizarea pierderii informaiei (malicious


use of delete, update statement, viruses,
natural disaster, theft)
Recuperarea datelor pierdute
Restabilirea datelor cu cost minim (i
minim impact)

Ca regul:
1.
2.

Backup frecvent dac BD este OLTP


Backup mai rar dac BD este OLAP


SQL
Server :
;

,

.

Modele de restabilire a
datelor

Full
Differential
Transaction log
Filegroup

Full Backups

Capteaz toate obiectele, paginile de


date a BD. nscrie i o parte a jurnalului
de tranzacii.
Este baza pentru backup-ul difereniat i
transaction log.
Procesul de backup este optimizat (se
nscriu cteva pagini paralel)

Etapele realizrii buckup

1. Blocarea BD, blocarea tuturor tranzaciilor


2. Marcarea n fiierul transaction log
3. Scoaterea blocrii BD
4. Extragerea paginilor cu date i nscrierea lor
pe purttorul backup
5. Blocarea BD, blocarea tuturor tranzaciilor
6. Marcarea n fiierul transaction log
7. Scoaterea blocrii BD
8. Extragerea poriunii ntre marcheri i
adugarea lui n backup

Operaii inadmise la full backup

Adugarea sau eliminarea fiierelor BD


Shrinking

Sintaxa general
BACKUP DATABASE { database_name |
@database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options>
[ ,...n ] } ]

--Error Management Options


{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Transaction Log Backups

Orice modificare n BD este descris n jurnalul


de tranzacii.
Fiecare linie din jurnalul de tranzacii are atribuit
un numr numit Log Sequence Number (LSN).
LSN numr ntreg de la 1 la infinit
Coninutul jurnalului de tranzacii este divizat n
2 pri:

Activ modificrile care nc nu au fost executate


(not committed)
Pasiv - toate modificri executate (committed)

Sintaxa

BACKUP LOG { database_name |


@database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to
]
[ WITH { <general_WITH_options> |
<log-specific_optionspec> } [ ,...n ] ][;]

Differential Backups

nscrie toate modificrile realizate de la ultimul full


backup.
Scopul principal este de a reduce numrul de
transaction log backup pstrate
SQL Server urmrete fiecare obiect modificat dup
un full backup folosind o pagin special n antetul BD
numit Differential Change Map (DCM).
Un full backup anuleaz DCM
Dac s-au produs schimbri SQL Server seteaz n 1
bitul corespunztor obiectului. La buckup difereniat
SQL Server citete coninutul DCM pentru a determina
obiectele modificate de la ultimul full backup

Diferenial vs Incrimental

Transaction log backup este incrimental


capteaz modificrile produse de la
ultimul transaction log backup.
Differential backup capteaz toate
paginile modificate de la ultimul full
backup

Filegroup Backups

Full backup pentru BD mari consum spaiu


i timp.
Poate fi fcut o copie de rezerv doar
pentru anumite fiiere sau grupe de fiiere.
Poate fi folosit mpreun cu rezervarea
diferenial sau de tranzacie.
n momentul restabilirii BD ea este online i
este accesibil aplicaiilor, doar partea cu
fiierele n cauz va fi off-line (cu excepia
grupului primary).

Backup parial

Grupul de fiiere pot fi setate ca read-only.


Grupul read-only nu poate avea careva
modificri.
Grupele de fiiere pot fi scoase din procesul de
rezervare (pentru ce s pstrm ceea ce nu se
schimb?)
Sintaxa

BACKUP DATABASE database_name READ_WRITE_FILEGROUPS


[,<file_filegroup_list>] TO <backup_device>

Se copie primary filegroup, grupele read/write


i toate grupele read-only specificate explicit

Pagini corupte

Situaii nefaste:

Eueaz controlerele
Eueaz unitile de disc

Consecin: Operaii de scriere incomplete


coruperea datelor
Soluii:

Pagina trece n carantin (BD rmne online)


ALTER DATABASE <dbname> SET PAGE_VERIFY
CHECKSUM
Dac BD are >1000 pagini corupte (n carantin),
BD trece n regim off-line cu statut suspect

Modele de restabilire

Simple - permite de a restabile BD pn


la ultima copie de rezerv
Strategia presupune crearea full backup
i backup difereniate
Transaction log backup este imposibil!
(n acest model jurnalul de tranzacii
este ters)
Se potrivete la cele mai multe BD.

Modele de restabilire

Full - se folosete pentru a restabili fie pn la


apariia erorii, fie pn la un moment de timp
concret.
Toate operaiile sunt nscrise n jurnalul de
tranzacii.
Strategia crerii copiilor de rezerv admite
dou variante:

Crearea copiilor full i difereniate mpreun cu


copiile jurnalului de tranzacii
Crearea copiilor full (doar!) mpreun cu copiile
jurnalului de tranzacii

Modele de restabilire

Bulk-Logged permite de a micora volumul


jurnalului de tranzacii, pstreaz marea parte din
posibilitile copiilor full.
Operaiile de flux cu date se nscriu n jurnalul de
tranzacii minimal (nu este posibil urmrirea
fiecrei operaii de nscriere).
Dac eroarea se produce pn la full backup sau
differential backup operaiile de flux trebuie
repetate.
Strategia de creare a copiilor de rezerv este
posibil n dou variante:
Crearea copiilor full i difereniate mpreun cu
copiile jurnalului de tranzacii
Crearea copiilor full (doar!) mpreun cu copiile

Situaii cnd nu pot fi create copiile de


rezerv

n procesul de compresie a BD
n procesul de creare sau tergere a BD
n procesul execuiei comenzilor ce nu
sunt fixate n jurnalul de tranzacii
n procesul de creare a indecilor

Validarea restabilirii

RESTORE VERIFYONLY FROM <backup


device>
Calculeaz checksum pentru BD i o
compar cu checksum pstrat n fiierul
backup
Verific dac antetul BD este scris corect i
valabil
Trece lanul paginilor pentru a se asigura c
toate paginile se conin n BD i pot fi
accesate