Copiile de sigururanta ale bazelor de date

8/8/2019

Bazele de date sunt salvate pe hard disk-uri sau SSD-uri care, dupa un numar de ore de functionare mai mic sau mai mare, pot sa se defecteze - caz in care exista riscul sa pierdeti datele introduse in programe de-a lungul timpului. Nimeni nu poate garanta cu certitudine cat timp va functiona un hard disk fara probleme (poate functiona 10 ani sau 2 zile) - singura certitudine e ca mai devreme sau mai tarziu hard disk-ul va ceda (de obicei insa, intreg calculatorul este inlocuit cu unul nou dupa cativa ani, inainte ca hard disk-ul sa apuce sa se defecteze). Ca masura de siguranta impotriva pierderii datelor va recomandam

De ce?

Bazele de date sunt salvate pe hard disk-uri sau SSD-uri care, dupa un numar de ore de functionare mai mic sau mai mare, pot sa se defecteze - caz in care exista riscul sa pierdeti datele introduse in programe de-a lungul timpului. Nimeni nu poate garanta cu certitudine cat timp va functiona un hard disk fara probleme (poate functiona 10 ani sau 2 zile) - singura certitudine e ca mai devreme sau mai tarziu hard disk-ul va ceda (de obicei insa, intreg calculatorul este inlocuit cu unul nou dupa cativa ani, inainte ca hard disk-ul sa apuce sa se defecteze).
Ca masura de siguranta impotriva pierderii datelor va recomandam

  • folosirea unui soft de monitorizare ai "sanatatii" hard disk-ului - monitorizare SMART. Unele defecte ale hard disk-ului pot fi anticipate intr-o oarecare masura, insa parametrii SMART acopera doar o mica parte din defectele posibile.
  • evitarea hard disk-urilor cu garantie mica sau a celor destinate sistemelor video (ex modelele din seria AV de la Western Digital care sunt proiectate pentru fluiditate in detrimentul sigurantei datelor). Producatorii de hard disk-uri au serii dedicate (mult mai scumpe) destinate serverelor (ex seria RE (Raid Edition) de la Western Digital).
  • instalarea in server a unui sistem RAID 1 (mirror) compus din cel putin 2 hard disk-uri "in oglinda". In eventualitatea defectarii unuia din hard disk-uri datele se vor regasi pe cel de-al doilea. (Insa in cazul in care se defecteaza placa de baza sau controller-ul RAID poate fi uneori mai dificil sa accesati datele pentru a le copia intr-un alt calculator).
  • alegerea cu mare atentie a modelelor de SSD-uri si mai ales a modului in care vor fi folosite acestea (SSD-urile au o durata de viata limitata daca nu sunt folosite corect).
  • efectuarea regulata de backup-uri (copii de siguranta)

Efectuarea de backup-uri
Puteti face un backup al bazei de date accesand menu-ul Program -> Asistenta tehnica -> Backup baza de date.
Procedura de backup poate fi pornita de catre orice utilizator care are drepturi de administrator asupra bazei de date (sau de backup operator). Procedura de backup se poate porni ruland programul direct de pe server sau de pe orice alt calculator din retea. Atentie insa, chiar daca backup-ul este initiat de pe un calculator din retea, el este efectuat de catre un program (serviciul Sql Server) care ruleaza pe server iar caile in care sunt salvate fisierele sunt intotdeauna privite din perspectiva unui utilizator care ar lucra pe server. Asadar, daca porniti programul de pe un calculator numit PC_Contabiltiate1 iar serverul de baze de date se cheama ServerMare si specificati ca va doriti ca fisierul de backup sa fie salvat in calea d:\Backup, veti gasi fisierele in directorul D:\Backup de pe serverul ServerMare (si nu pe calculatorul unde lucreaza utilizatorul care a pornit backup-ului).
La pornirea procedurii de backup programul va afisa lista destinatiilor in care s-au mai facut backup-uri de-a lungul timpului si va cere sa selectati destinatia unde sa salveze copia de siguranta a bazei de date. Puteti adauga o destinatie noua apasand butonul "Alt director" caz in care, daca procedura de backup a fost pornita de pe server, veti putea selecta dintr-o lista directorul dorit insa in cazul in care procedura de backup s-a pornit pe un alt calculator, directorul va trebui introdus manual de forma unei cai valabile pe server, de genul d:\Backup sau c:\Backup sau \\NumeAltCalculatorDinRetea\Share).
Atentie insa, e foarte importanta destinatia in care salvati backup-urile. Daca pastrati backup-urile pe acelasi hard disk pe care aveti bazele de date iar acesta se strica, exista riscul sa pierdeti in acelasi timp si bazele de date si backup-urile.

Destinatii posibile pentru salvarea backup-urilor

  • un alt hard disk montat in acelasi server. In acest caz exista riscul (mic) ca la o eventuala defectare a sursei de alimentare, atat hard discul cu baza de date cat si cel cu backup-ul sa fie distruse simultan. De asemenea, tineti cont ca hard disk-urile sunt sensibile la temperaturi peste 50-60 de grade care se ating usor in lipsa unei ventilatii corecte, iar o temperatura prea mare in server va afecta toate hard disk-urile (chiar daca nu chiar simultan si in aceeasi masura).
  • un usb flash disk montat in unul din porturile USB ale serverului (e ieftin si usor de montat). In putine cazuri spatiul de pe un USB disk s-ar putea dovedi insuficient pentru stocarea de multe backup-uri (mai ales daca bazele de date contin multe poze sau extrem de multe date). Pe de alta parte un stick USB este usor de extras de catre o persoana neautorizata care ajunge in preajma serverului astfel incat aceasta metoda poate prezenta un risc de securitate in cazul datelor sensibile.
  • un share din retea (un disk de pe un alt calculator partajat cu drepturi de scriere sau un dispozitiv dedicat de tip NAS). In cazul acestei variante, asigurati-va ca acel dispozitiv este disponibil atunci cand faceti backup-ul. Tineti cont ca Sql Serverul va incerca sa acceseze acel disk din retea autentificandu-se cu userul si parola sub care este configurat serviciul Sql Server sa ruleze (asadar chiar daca userul care lanseaza procedura de backup are drepturi de acces la un share din retea, backup-ul este doar initiat de utilizator insa este efectuat de Sql Server cu numele si parola specifice serviciului - iar serverele Sql configurate sa ruleaze sub Local System Account de exemplu nu vor putea accesa reteaua). Daca intentionati sa folositi aceasta metoda pentru a efectua backup-uri, configurati serviciul Sql Server sa ruleze cu un nume si parola din domeniu care sa aibe acces la share-ul de stocare a backup-urilor. Asigurati-va si ca share-ul respectiv nu are drepturi de scriere sau citire de catre persoane care nu ar trebui sa aiba acces la informatiile din baza de date.
  • pe un hard disk din server, urmand ca backup-ul sa fie copiat manual sau printr-un task programat de pe serverul de baze de date pe un alt calculator sau pe DVD-uri. In acest caz backup-ul trebuie mutat de pe server pe alta destinatie in cel mai scurt timp posibil pentru a elimina riscul ca o defectare a hard disk-ului din server sa afecteze atat baza de date cat si copia de siguranta.