Përmbajtje fsheh

Rikthim SQL Server bazën e të dhënave me udhëzuesin tonë të plotë për vitin 2025. Udhëzime hap pas hapi dhe praktikat më të mira për të gjitha nivelet e aftësive.

1. Hyrje në SQL Server Rikthim

1.1 Çfarë është SQL Server Rezervimi?

SQL Server Kopja rezervë është procesi i krijimit të kopjeve të skedarëve të bazës së të dhënave tuaja për t'u mbrojtur nga humbja e të dhënave. Një kopje rezervë kap gjendjen e bazës së të dhënave tuaja në një moment specifik kohor, duke ju lejuar të rivendosni të dhënat nëse ndodhin dështime të harduerit, gabime njerëzore ose fatkeqësi.

SQL Server Si parazgjedhje, ruan kopjet rezervë në skedarë .bak, të cilët përmbajnë të gjitha objektet e bazës së të dhënave, duke përfshirë tabelat, procedurat e ruajtura, pamjet, indekset dhe regjistrat e transaksioneve.

1.2 Pse SQL Server Rezervimi rezervë është kritik

Kopjet rezervë të bazës së të dhënave shërbejnë si linja juaj e fundit e mbrojtjes kundër humbjes së të dhënave. Pa kopje rezervë të duhura, organizata juaj rrezikon:

  • Humbje e përhershme e të dhënave nga dështimet ose korruptimi i harduerit
  • Koha e zgjatur e joproduktive gjatë përpjekjeve të rimëkëmbjes
  • Ndërprerja e biznesit dhe humbje të të ardhurave
  • Shkeljet e pajtueshmërisë nëse të dhënat nuk mund të rikuperohen
  • Dëmtimi i reputacionit nga ndërprerjet e shërbimit

i rregullt SQL Server Kopjet rezervë sigurojnë vazhdimësinë e biznesit dhe përmbushin kërkesat rregullatore për mbrojtjen e të dhënave.

1.3 Skenarë të zakonshëm të humbjes së të dhënave

Të kuptuarit se kur ndodh humbja e të dhënave ju ndihmon të zhvilloni një strategji efektive të kopjimit rezervë:

  • Dështimet e harduerit: Rrëzimet e diskut, keqfunksionimet e serverit ose dështimet e sistemit të ruajtjes
  • Gabimet njerëzore: Fshirje aksidentale, përditësime të pasakta ose tabela të hequra
  • Probleme me softuerin: Gabimet e aplikacionit, përditësimet e korruptuara ose rrëzimi i sistemit
  • Shkeljet e sigurisë: Sulme ransomware, fshirje keqdashëse ose akses i paautorizuar
  • Fatkeqësitë natyrore: Zjarret, përmbytjet ose ndërprerjet e energjisë që ndikojnë në qendrat e të dhënave

2. kuptim SQL Server Llojet e kopjeve rezervë

SQL Server Mbështet lloje të shumta kopjesh rezervë, secila prej të cilave përmbush nevoja të ndryshme rikuperimi dhe kërkesa të ndryshme ruajtjeje.

2.1 Kopje rezervë e plotë

Një kopje rezervë e plotë krijon një kopje të plotë të të gjithë bazës së të dhënave tuaja, duke përfshirë të gjitha skedarët e të dhënave dhe një pjesë të regjistrit të transaksioneve të nevojshëm për rikuperim.

2.1.1 Kur duhet të përdoret kopja rezervë e plotë

Kopjet rezervë të plota janë ideale për:

  • Vendosja e një baze bazë për llojet e tjera të kopjeve rezervë
  • Baza të dhënash të vogla deri të mesme ku koha e ruajtjes së kopjeve rezervë është e pranueshme
  • Oraret e kopjimit rezervë javore ose mujore
  • Bazat e të dhënave me ndryshime të rralla

2.1.2 Avantazhet dhe kufizimet e kopjes rezervë të plotë

Përparësitë:

  • Procesi më i thjeshtë i rikuperimit - një skedar i vetëm përmban gjithçka
  • I pavarur dhe i pavarur nga kopjet e tjera rezervë
  • Koha më e shpejtë e rikuperimit për restaurimin e plotë të bazës së të dhënave

kufizimet:

  • Kërkon hapësirë ​​të konsiderueshme ruajtjeje
  • Kohë më e gjatë rezervimi për bazat e të dhënave të mëdha
  • Konsum më i lartë i burimeve gjatë operacioneve të rezervimit

2.2 Rezervë Diferenciale

Një kopje rezervë diferenciale kap vetëm ndryshimet e të dhënave që nga kopja rezervë e fundit e plotë, duke zvogëluar kohën e kopjimit rezervë dhe kërkesat e ruajtjes.

2.2.1 Si funksionon rezervimi diferencial

Kopjet rezervë diferenciale gjurmojnë modifikimet duke përdorur shtrirjet e ndryshuara. Kur rivendosni, SQL Server aplikon së pari kopjen rezervë të fundit të plotë, pastaj aplikon most rezervë diferenciale e kohëve të fundit.

2.2.2 Rezervë e plotë kundrejt asaj diferenciale

Rezervë e plotë kundrejt diferencialit

Aspekt Rezervim i plotë Rezervimi diferencial
Masat Baza e të dhënave e plotë Vetëm ndryshimet që nga kopja rezervë e fundit e plotë
Koha e rezervimit Longest Më shpejt se sa e plotë
Procesi i rivendosjes Rivendosja e një skedari të vetëm Kërkon diferencial të plotë +
Kërkohet ruajtja Most hapësirë Më pak hapësirë ​​fillimisht, rritet me kalimin e kohës

2.3 Kopja rezervë e regjistrit të transaksioneve

Kopjet rezervë të regjistrave të transaksioneve kapin të gjitha transaksionet që nga kopja rezervë e fundit e regjistrit, duke mundësuar rikuperimin në çdo moment.

2.3.1 Kuptimi i Regjistrave të Transaksioneve

Regjistri i transaksioneve regjistron çdo modifikim në bazën tuaj të të dhënave. Kopjet rezervë të regjistrave e shkurtojnë pjesën joaktive të regjistrit, duke e penguar atë të rritet pafundësisht dhe të mbushë diskun tuaj.

2.3.2 Rimëkëmbja në Çast

Kopjet rezervë të regjistrave të transaksioneve ju lejojnë të rivendosni bazën e të dhënave në çdo moment specifik brenda një kopjeje rezervë të regjistrit. Kjo është thelbësore për rikuperimin nga modifikimet ose fshirjet aksidentale të të dhënave.

Për të kryer rikuperimin në kohë, ju nevojiten:

  • Kopja rezervë e fundit e plotë
  • Most kopje rezervë diferenciale e kohëve të fundit (opsionale)
  • Të gjitha kopjet rezervë të regjistrave të transaksioneve nga kopja rezervë e plotë/diferenciale deri te kopja rezervë e juaja tarmerrni kohë

2.4 Kopje rezervë e regjistrit të tail-log

Kopjet rezervë të regjistrave të përsëritura kapin të dhënat e regjistrave që nuk janë kopjuar ende, duke parandaluar humbjen e të dhënave dhe duke ruajtur një zinxhir të paprekur të regjistrave. Përpara se të rikuperohet një SQL Server Për të ruajtur bazën e të dhënave në pikën e saj më të fundit kohore, duhet të bëni një kopie rezervë të pjesës së poshtme të regjistrit të transaksioneve të saj. Kopja rezervë e regjistrit të fundit është kopja rezervë e fundit që ju intereson në planin e rikuperimit për bazën e të dhënave.

Diagrama që shpjegon kopjet rezervë të regjistrave të pasmë në SQL Server.

Shënim: Jo të gjithë skenarët e rikuperimit kërkojnë një kopje rezervë të regjistrit të fundit. Nuk keni nevojë për një të tillë nëse pika e rikuperimit përmbahet në një kopje rezervë të mëparshme të regjistrit. Një kopje rezervë e regjistrit të fundit është gjithashtu e panevojshme nëse po zhvendosni ose zëvendësoni (mbishkruani) një bazë të dhënash dhe nuk keni nevojë ta riktheni atë në një pikë kohore pas mbylljes së saj.ost kopje rezervë e kohëve të fundit.

2.4.1 Kur janë të nevojshme kopjet rezervë të regjistrave të tail-log-ut

Skenarët e mëposhtëm përshkruajnë se kur duhet të bëni një kopje rezervë të regjistrit të tail-log:

Restaurimi i Bazës së të Dhënave Online: Nëse baza e të dhënave është në linjë dhe planifikoni të kryeni një operacion rivendosjeje në bazën e të dhënave, filloni duke bërë kopje rezervë të pjesës së poshtme të regjistrit. Për të shmangur një gabim për një bazë të dhënash në linjë, duhet të përdorni opsionin WITH NORECOVERY të deklaratës BACKUP Transact-SQL kur bëni kopje rezervë. SQL Server bazës së të dhënave.

Rimëkëmbja e Bazës së të Dhënave Jashtë Linje: Nëse një bazë të dhënash është jashtë linje dhe nuk arrin të stardhe ju duhet të rivendosni bazën e të dhënave, së pari bëni një kopie rezervë të pjesës së poshtme të regjistrit. Meqenëse nuk mund të ndodhin transaksione në këtë kohë, përdorimi i opsionit WITH NORECOVERY është opsional. NORECOVERY është në fakt i njëjtë me një kopie rezervë të regjistrit të transaksioneve vetëm për kopjim në këtë skenar.

Kopje rezervë e dëmtuar e bazës së të dhënave: Nëse një bazë të dhënash është e dëmtuar, përpiquni të bëni një kopje rezervë të tail-log duke përdorur opsionin WITH CONTINUE_AFTER_ERROR të deklaratës BACKUP. Në një bazë të dhënash të dëmtuar, kopja rezervë e tail-log mund të ketë sukses vetëm nëse skedarët e log-ut janë të padëmtuar, baza e të dhënave është në një gjendje që mbështet kopjet rezervë të tail-log dhe baza e të dhënave nuk përmban ndryshime të regjistruara në masë. Nëse një kopje rezervë e tail-log nuk mund të krijohet, çdo transaksion i kryer pas versionit më të fundit të MS-së SQL Server baza e të dhënave rezervë janë lost.

2.4.2 Opsionet kryesore për kopjet rezervë të Tail-Log

ME NORECOVERY: Përdoreni ME NORECOVERY nëse po bëni kopje rezervë të një pjese të një regjistri të një baze të dhënash në internet që planifikoni ta rivendosni më pas. NORECOVERY e heq bazën e të dhënave jashtë linje. Gjithashtu mund të bëni kopje rezervë. SQL Server regjistri i fundit i një baze të dhënash jashtë linje. Nëse doni ta lini bazën e të dhënave jashtë linje, përdorni WITH NORECOVERY. Vini re se regjistri do të shkurtohet nëse nuk specifikoni opsionin COPY_ONLY ose NO_TRUNCATE.

ME GABIM_VAZHDON_ME_VAZHDIM: Përdorni CONTINUE_AFTER_ERROR vetëm nëse po bëni kopje rezervë të pjesës fundore të një baze të dhënash të dëmtuar. Kur bëni kopje rezervë të pjesës fundore të një regjistri në një bazë të dhënash të dëmtuar, disa nga meta të dhënat që zakonisht kapen në kopjet rezervë të regjistrave mund të mos jenë të disponueshme.

2.5 Kopje rezervë vetëm për kopjim

Kopjet rezervë vetëm me kopjim krijojnë një kopje rezervë të pavarur pa ndikuar në sekuencën normale të kopjes rezervë. Ato nuk ndërpresin zinxhirët diferencialë të kopjes rezervë ose vazhdimësinë e regjistrit të transaksioneve.

Përdorni kopje rezervë vetëm për kopjim për:

  • Krijimi i kopjeve të bazës së të dhënave për testim ose zhvillim
  • Kopje rezervë ad-hoc pa ndikuar në kopjet rezervë të planifikuara
  • Kopje rezervë para ndryshimeve të mëdha ose testimeve

2.6 Kopja rezervë e skedarëve dhe grupeve të skedarëve

Kopje rezervë të skedarëve dhe grupeve të skedarëve tarmerrni skedarë ose grupe skedarësh specifikë të bazës së të dhënave në vend të të gjithë bazës së të dhënave. Kjo qasje funksionon mirë për baza të dhënash shumë të mëdha ku kopja rezervë e gjithçkaje zgjat shumë.

Përfitimet përfshijnë:

  • Operacione më të shpejta rezervimi për baza të dhënash të mëdha
  • Kopje rezervë paralele e grupeve të shumta të skedarëve
  • Opsionet e rikuperimit të granuluar
  • Oraret e optimizuara të kopjimit rezervë për grupet e skedarëve vetëm për lexim

2.7 Rezervë e pjesshme

Kopjet rezervë të pjesshme përfshijnë të gjitha të dhënat në grupin kryesor të skedarëve dhe çdo grup skedarësh për lexim-shkrim, duke përjashtuar grupet e skedarëve vetëm për lexim. Kjo zvogëlon madhësinë dhe kohën e kopjimit rezervë për bazat e të dhënave me të dhëna historike statike të ruajtura në grupe skedarësh vetëm për lexim.

3. SQL Server Modelet e rikuperimit

SQL Server Modelet e rikuperimit përcaktojnë se cilat lloje kopjesh rezervë janë të disponueshme dhe si menaxhohen regjistrat e transaksioneve.

3.1 Model i thjeshtë i rimëkëmbjes

3.1.1 Karakteristikat dhe rastet e përdorimit

Rimëkëmbja e thjeshtë e shkurton automatikisht regjistrin e transaksioneve pas çdo pike kontrolli, duke rimarrë hapësirë ​​pa pasur nevojë për kopje rezervë të regjistrit.

Më e mira për:

  • Zhvillimi dhe testimi i bazave të të dhënave
  • Bazat e të dhënave ku humbja e të dhënave midis kopjeve rezervë është e pranueshme
  • Depo të dhënash me procese ETL që mund të riekzekutohen
  • Bazat e të dhënave vetëm për lexim ose raportim

3.1.2 Opsionet e Disponueshme të Rezervimit

Mbështetje të thjeshta për rikuperim:

  • Kopje rezervë të plota
  • Rezervimet diferenciale
  • Kopje rezervë të skedarëve dhe grupeve të skedarëve
  • Kopje rezervë vetëm për kopjim

Kopjet rezervë të regjistrave të transaksioneve janë i padisponueshem në modelin e thjeshtë të rimëkëmbjes.

3.2 Modeli i Rimëkëmbjes së Plotë

3.2.1 Veçoritë dhe përfitimet

Rimëkëmbja e plotë regjistron të gjitha transaksionet dhe ruan të dhënat e regjistrit derisa t'i kopjoni ato. Kjo mundëson rikuperimin e plotë të të dhënave në çdo moment brenda një kopjeje rezervë të regjistrit të transaksioneve.

Përfitimet kryesore:

  • Potencial minimal për humbje të të dhënave
  • Mundësia e rikthimit në kohë
  • Mbështet dërgimin e regjistrave dhe pasqyrimin e bazës së të dhënave
  • Fleksibilitet maksimal i rikuperimit

3.2.2 Menaxhimi i Regjistrit të Transaksioneve

Nën rikuperimin e plotë, duhet të kryeni kopje rezervë të rregullta të regjistrave të transaksioneve për të:

  • Parandaloni mbushjen e hapësirës së diskut nga regjistri i transaksioneve
  • Mbani një zinxhir të vazhdueshëm rezervë
  • Aktivizo rikuperimin në kohë
  • Kontrolloni rritjen e skedarëve të regjistrit

Orari tipik i kopjimit rezervë: kopje rezervë të plotë javore, kopje rezervë diferenciale çdo ditë, kopje rezervë të regjistrave çdo 15-30 minuta.

3.3 Modeli i Rimëkëmbjes me Regjistrim të Madh

3.3.1 Kur duhet të përdoret Bulk-Logged

Rimëkëmbja me regjistra masive regjistron minimalisht operacionet masive si BULK INSERT, SELECT INTO dhe rindërtimet e indeksit, duke ruajtur regjistrimin e plotë për transaksionet e rregullta.

Përdorni rikuperimin me regjistrim masiv kur:

  • Kryerja e operacioneve të importit me shumicë të mëdha
  • Rindërtimi i indekseve në tabela të mëdha
  • Ekzekutimi i operacioneve që përfitojnë nga regjistrimi minimal i të dhënave
  • Nevoja për të zvogëluar madhësinë e regjistrit të transaksioneve gjatë operacioneve specifike

3.3.2 Kufizimet dhe konsideratat

Kufizime të rëndësishme:

  • Rivendosja në kohë nuk është e disponueshme gjatë operacioneve në masë
  • Kopjet rezervë të regjistrave janë më të mëdha kur ndodhin operacione masive
  • Duhet të kalohet midis regjistrimit të plotë dhe atij me shumicë sipas nevojës

3.4 Zgjedhja e Modelit të Duhur të Rimëkëmbjes

Zgjidhni modelin tuaj të rimëkëmbjes bazuar në kërkesat e biznesit:

Modeli i rikuperimit Rreziku i humbjes së të dhënave Rimëkëmbja në kohë më të mirë për
I thjeshtë Ndryshimet që nga kopja rezervë e fundit jo Zhvillim/test, humbje e pranueshme e të dhënave
Plot Minimale (zakonisht minuta) Po Bazat e të dhënave të prodhimit, të dhënat kritike
Regjistrime masive Ndryshimet që nga kopja rezervë e fundit e regjistrit I kufizuar gjatë operacioneve me shumicë Kohërarpërdorimi y gjatë operacioneve me shumicë

4. rezervë SQL Server Baza e të dhënave duke përdorur SSMS

4.1 Parakushte dhe Përgatitje

Përpara se të bëni kopje rezervë SQL Server bazës së të dhënave, sigurohuni që:

  • Ju keni lejet e duhura (leje db_owner ose leje BACKUP DATABASE)
  • Hapësirë ​​e mjaftueshme në disk për skedarin rezervë
  • SQL Server Studioja e Menaxhimit (SSMS) është instaluar
  • Shtigjet e rrjetit janë të arritshme nëse bëhet kopje rezervë në vendndodhjet e rrjetit

4.2 Hap pas hapi: Kopje rezervë e plotë me SSMS

Ndiqni këto hapa për të krijuar një kopje rezervë të plotë të të dhënave tuaja SQL Server bazën e të dhënave duke përdorur SSMS.

4.2.1 Hapja SQL Server Studio e Menaxhimit

  1. Launch SQL Server Studio e Menaxhimit
  2. Futni emrin e serverit tuaj në Emri i serverit fushë
  3. Zgjidhni metodën tuaj të vërtetimit
  4. Kliko Dërgo ftesë

4.2.2 Zgjedhja e opsioneve të bazës së të dhënave dhe kopjes rezervë

  1. In Eksploruesi i Objekteve, zgjeroni Bazat e të dhënave nyjë
  2. Klikoni me të djathtën në bazën e të dhënave që dëshironi të bëni kopje rezervë
  3. zgjedh Detyrat -> Back Up
    Stardetyrë rezervimi për një SQL Server bazës së të dhënave në SQL Server Studio e Menaxhimit.
  4. Rezervoni bazën e të dhënave dritare, verifikoni emrin e bazës së të dhënave
  5. zgjedh Plot si Lloji rezervë
    Krijo një kopje rezervë të plotë të një SQL Server bazës së të dhënave në SQL Server Studio e Menaxhimit.

4.2.3 Konfigurimi i Destinacionit të Rezervimit

  1. Sipas destinacion, Kliko Heq për të pastruar rrugën e parazgjedhur (nëse është e nevojshme)
  2. Kliko Shtoj për të specifikuar një vendndodhje të re rezervimi
  3. Futni shtegun dhe emrin e skedarit me .mbrapa zgjatje
  4. Kliko OK për të konfirmuar destinacionin

Cakto destinacionin e kopjes rezervë në SQL Server Studio e Menaxhimit.

4.2.4 Advanced Backup Cilësimet

  1. Kliko Opsionet e medias në panelin e majtë
  2. Zgjidhni opsionet e rezervimit:
    • Mbishkruani të gjitha grupet ekzistuese të rezervimit – Zëvendëson kopjet rezervë ekzistuese
    • Shtoje në grupin ekzistues të kopjeve rezervë – Shton në skedarin ekzistues të kopjes rezervë

    Vendosni opsionet e medias së rezervimit në SQL Server Studio e Menaxhimit.

  3. Kliko Opsionet e rezervës në panelin e majtë
  4. Konfiguro cilësimet opsionale:
    • Kompreso kopjen rezervë – Zvogëlon madhësinë e skedarit rezervë
    • Kripto kopje rezervë – Mbron të dhënat e ndjeshme
    • Verifikoni kopjen rezervë kur të keni mbaruar – Kontrollon integritetin e kopjes rezervë

    Vendosni opsionet e rezervimit në SQL Server Studio e Menaxhimit.

4.2.5 Ekzekutimi i kopjes rezervë

  1. Rishikoni të gjitha cilësimet në Rezervoni bazën e të dhënave dritare
  2. Kliko OK te starprocesi i kopjimit rezervë
  3. Prisni që kopja rezervë të përfundojë
  4. Një mesazh suksesi shfaqet kur kopja rezervë përfundon
  5. Kliko OK për të mbyllur dialogun e konfirmimit

4.3 Krijimi i një kopjeje rezervë diferenciale me SSMS

Për të krijuar një kopje rezervë diferenciale, ndiqni të njëjtat hapa si një kopje rezervë e plotë, por zgjidhni Diferenciale si lloji i kopjes rezervë në hapin 4.2.2. Mos harroni se kopjet rezervë diferenciale kërkojnë një kopje rezervë të plotë paraprake si bazë.

Krijoni një kopje rezervë diferenciale të një SQL Server bazës së të dhënave në SQL Server Studio e Menaxhimit.

4.4 Krijimi i një kopje rezervë të regjistrit të transaksioneve me SSMS

Kopjet rezervë të regjistrave të transaksioneve janë të disponueshme vetëm për bazat e të dhënave që përdorin modele të rikuperimit të plotë ose të regjistruar në masë.

  1. Klikoni me të djathtën në bazën e të dhënave në Eksploruesi i Objekteve
  2. zgjedh Detyrat -> Back Up
  3. Zgjedh Regjistri i transaksioneve si lloji i rezervës
  4. Konfiguroni destinacionin dhe opsionet sipas nevojës
  5. Kliko OK për të krijuar kopje rezervë të regjistrit

Krijo një kopje rezervë të regjistrit të transaksioneve të një SQL Server bazës së të dhënave në SQL Server Studio e Menaxhimit.

4.5 Krijimi i një kopjeje rezervë vetëm për kopjim me SSMS

Kopjet rezervë vetëm për kopjim nuk ndërhyjnë në sekuencën tuaj të rregullt të kopjimit rezervë.

  1. Ndiqni hapat për të krijuar një kopje rezervë të plotë
  2. Opsionet e rezervës faqe
  3. Kontrollo Kopje rezervë vetëm për kopjim alternativë
  4. Përfundoni procesin e kopjimit rezervë normalisht

Krijo një kopje rezervë vetëm për kopjim të një SQL Server bazës së të dhënave në SQL Server Studio e Menaxhimit.

5. rezervë SQL Server Baza e të dhënave duke përdorur T-SQL

5.1 Sintaksa Bazë e Bazës së të Dhënave të Rezervës

Komanda T-SQL BACKUP DATABASE ofron kontroll programatik mbi SQL Server rezervime.

BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;

5.2 Rezervë e plotë e komandave T-SQL

5.2.1 Skript i thjeshtë i kopjimit rezervë të plotë

Krijoni një kopje rezervë të plotë bazë me opsione minimale:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO

5.2.2 Rezervë e plotë me opsione

Shtoni informacion përshkrues dhe opsione formatimi:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
     INIT,
     NAME = 'AdventureWorks-Full Database Backup',
     DESCRIPTION = 'Full backup of AdventureWorks database',
     STATS = 10
GO

Opsionet e shpjeguara:

  • FORMATI – Krijon një set të ri rezervë
  • FITIMI – Mbishkruan skedarin ekzistues të rezervimit
  • NAME – Cakton emrin e grupit të kopjeve rezervë
  • PËRSHKRIMI – Shton tekst përshkrues
  • STATS – Tregon progresin çdo 10%

5.3 Komandat T-SQL të Rezervës Diferenciale

Kopjet rezervë diferenciale përdorin opsionin DIFERENCIALE:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
     INIT,
     NAME = 'AdventureWorks-Differential Backup',
     STATS = 10
GO

5.4 Komandat T-SQL të Rezervimit të Regjistrit të Transaksioneve

Përdorni REGJISTRIM REZERVIMSH për kopjet rezervë të regjistrave të transaksioneve:

BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
     NAME = 'AdventureWorks-Transaction Log Backup',
     STATS = 10
GO

5.5 Opsione të Avancuara të Kopjimit të të Dhënave të T-SQL

5.5.1 Krijimi i kopjeve rezervë në skedarë të shumtë

Shpërndani kopje rezervë në shumë skedarë për performancë më të shpejtë:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
   DISK = 'D:\Backups\AdventureWorks_2.bak',
   DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO

5.5.2 Rezervë me Kompresim

Zvogëloni madhësinë e skedarit rezervë dhe gjerësinë e brezit të rrjetit:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
     INIT,
     STATS = 10
GO

5.5.3 Rezervim me Enkriptim

Mbroni të dhënat e ndjeshme me enkriptim:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     ),
     STATS = 10
GO

5.5.4 Rezervim me Mbrojtje me Fjalëkalim

Shto mbrojtje me fjalëkalim (e vjetëruar, përdor enkriptimin në vend të tij):

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
     INIT
GO

5.5.5 Kopje rezervë të pasqyruara

Krijoni kopje të njëkohshme në vende të ndryshme:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO

5.6 Shembuj dhe Skripte të Backup-it T-SQL

Skripti i plotë i kopjes rezervë me trajtimin e gabimeve:

DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);

SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';

BEGIN TRY
    BACKUP DATABASE @DatabaseName
    TO DISK = @BackupPath
    WITH COMPRESSION,
         INIT,
         NAME = @DatabaseName + '-Full Backup',
         STATS = 10;
    
    PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
    PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO

6. rezervë SQL Server Baza e të dhënave duke përdorur PowerShell

6.1 Cmdlet-et e Rezervimit të PowerShell

SQL Server Moduli PowerShell ofron cmdlete për automatizimin e kopjeve rezervë:

  • Backup-SqlDatabase – Krijon kopje rezervë të bazës së të dhënave
  • Restore-SqlDatabase – Rivendos kopjet rezervë të bazës së të dhënave
  • Get-SqlDatabase – Rikthen informacionin e bazës së të dhënave

Importoni SQL Server moduli:

Import-Module SqlServer

6.2 Krijimi i Skripteve të Kopjimit të të Dhënave me PowerShell

Komanda bazë e kopjimit rezervë të PowerShell:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks.bak" `
                    -BackupAction Database `
                    -CompressionOption On

Shembull i rezervimit diferencial:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
                    -BackupAction Database `
                    -Incremental

Kopja rezervë e regjistrit të transaksioneve:

Backup-SqlDatabase -ServerInstance "localhost" `
                    -Database "AdventureWorks" `
                    -BackupFile "C:\Backups\AdventureWorks_Log.trn" `
                    -BackupAction Log

6.3 Automatizimi i kopjeve rezervë me PowerShell

Krijo një skript automatik rezervimi për baza të dhënash të shumta:

# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"

# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
    New-Item -ItemType Directory -Path $BackupPath
}

# Backup each database
foreach ($Database in $Databases) {
    $BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
    
    try {
        Backup-SqlDatabase -ServerInstance $ServerInstance `
                          -Database $Database `
                          -BackupFile $BackupFile `
                          -BackupAction Database `
                          -CompressionOption On
        
        Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
    }
    catch {
        Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
    }
}

7. rezervë SQL Server Baza e të dhënave duke përdorur vijën e komandës

SQL Server ofron shërbime të linjës së komandës që ju lejojnë të bëni kopje rezervë SQL Server bazë të dhënash pa përdorur SSMS ose ndërfaqe grafike. Këto mjete janë thelbësore për automatizimin, skriptimin dhe skenarët e administrimit në distancë.

7.1 Përdorimi i Bazës së të Dhënave të Kopjimit të SQLCMD

SQLCMD është programi modern i linjës së komandës për SQL Server që zëvendësoi OSQL. Ofron funksionalitet të përmirësuar dhe është mjeti i rekomanduar për ekzekutimin e komandave T-SQL nga linja e komandave.

7.1.1 Sintaksa bazë e SQLCMD

sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: Specifikon SQL Server emri i instancës
  • -d: Specifikon emrin e bazës së të dhënave
  • -P: Ekzekuton një pyetje dhe del
  • -DHE: Përdor Autentifikimin e Windows
  • -U: Specifikon SQL Server emri i përdoruesit për hyrje
  • -P: Specifikon fjalëkalimin për SQL Server hyrje

7.1.2 Krijimi i kopjes rezervë me SQLCMD

Për të bërë kopje rezervë SQL Server Duke përdorur SQLCMD, ndiqni këto hapa:

  1. hapur Komanda Prompt or PowerShell
  2. Shkoni të SQL Server direktoria e mjeteve (zakonisht shtohet në PATH gjatë instalimit)
  3. Ekzekutoni komandën e bazës së të dhënave rezervë SQLCMD me parametrat e duhur
  4. Verifikoni që skedari rezervë është krijuar me sukses

Shembull i komandës së plotë për backup duke përdorur Windows Authentication:

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

Shembull duke përdorur SQL Server Authentication:

sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"

Krijimi i një kopje rezervë diferenciale me SQLCMD

sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"

Krijimi i një kopje rezervë të regjistrit të transaksioneve me SQLCMD

sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"

7.1.3 Bazë të dhënash rezervë e botuesit në SQL Server përsëritje

Kur bëni kopje rezervë të bazave të të dhënave të botuesve në SQL Server Replikimi, përdorni opsionin ME REPLICATION për të ruajtur meta të dhënat e replikimit dhe për të siguruar qëndrueshmërinë transaksionale.

-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB 
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION, 
     COMPRESSION,
     CHECKSUM,
     INIT,
     STATS = 10;
GO

Për më shumë detaje në SQL Server replikim, shihni tonën udhëzues gjithëpërfshirës.

7.2 Përdorimi i Bazës së të Dhënave të Kopjimit të OSQL

OSQL është një program i trashëguar i linjës së komandës për SQL ServerNdërsa Microsoft rekomandon përdorimin e SQLCMD në vend të kësaj, OSQL mbetet i disponueshëm për pajtueshmëri të prapambetur me skriptet dhe sistemet më të vjetra.

7.2.1 Sintaksa Bazë e OSQL

Sintaksa e OSQL është e ngjashme me SQLCMD:

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: SQL Server emri i instancës
  • -d: Emri i bazës së të dhënave
  • -P: Ekzekuton pyetjen dhe del
  • -DHE: Përdor lidhje të besueshme (Autentifikimi i Windows)
  • -U: Emri i përdoruesit për hyrje
  • -P: Fjalëkalimi i hyrjes

7.2.2 Krijimi i kopjes rezervë me OSQL

Për të kryer operacione të backup-it të bazës së të dhënave OSQL:

  1. hapur Komanda Prompt
  2. Verifikoni që OSQL është i disponueshëm në tuajin SQL Server instalim
  3. Ekzekutoni komandën e kopjimit rezervë të OSQL

Shembull i një kopjeje rezervë të plotë:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"

Shembull i kopjes rezervë diferenciale:

osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"

8. Palë e Tretë SQL Server Mjetet rezervë

Ndërsa SQL Server përfshin aftësi rezervimi vendas, mjetet e palëve të treta ofrojnë veçori të përmirësuara, automatizim dhe menaxhim të nivelit të ndërmarrjes për organizatat me kërkesa komplekse. Këto zgjidhje ofrojnë kompresim të përparuar, menaxhim të centralizuar dhe rrjedha pune të efektshme për rezervimin. SQL Server bazave të të dhënave në mjedise të shumëfishta.

8.1 Veeam Rezervë për SQL Server

Veeam ofron zgjidhje gjithëpërfshirëse për mbrojtjen e të dhënave, të dizajnuara posaçërisht për të bërë kopje rezervë. SQL Server bazave të të dhënave me ndikim minimal në sistemet e prodhimit.

Key Features:

  • Përpunim i ndërgjegjshëm për aplikacionin për SQL Server qëndrueshmëria e rezervimit
  • Rezervimi dhe menaxhimi i regjistrit të transaksioneve
  • Rimëkëmbje në kohë me opsione të detajuara të rimëkëmbjes
  • Integrimi me Veeam Backup & Replication për mbrojtje të unifikuar të të dhënave
  • Verifikimi dhe validimi automatik i rezervimit
  • Mbështetje për Grupet Gjithmonë të Disponueshme
  • Niveli i VM-së dhe niveli i aplikacionit SQL Server opsionet rezervë

8.2 Rezervë Barracuda për SQL Server

Barracuda ofron zgjidhje të integruara të kopjimit rezervë në cloud me menaxhim të thjeshtuar për MS. SQL Server operacionet e kopjimit të bazës së të dhënave.

Key Features:

  • Automated SQL Server planifikimi i rezervimit
  • Replikim i integruar në cloud në Barracuda Cloud Storage
  • Deduplikimi dhe kompresimi global
  • Aftësi të menjëhershme rikuperimi lokal
  • Konsol menaxhimi i bazuar në internet
  • Mbështetje për kopje rezervë të plotë, diferenciale dhe të regjistrave të transaksioneve
  • Mbrojtje nga Ransomware me kopje rezervë të pandryshueshme

8.3 Veritas NetBackup për SQL Server

Veritas NetBackup është një platformë rezervimi e nivelit të ndërmarrjes që ofron mbrojtje gjithëpërfshirëse për SQL Server bazave të të dhënave në mjedise komplekse të IT-së.

Key Features:

  • Menaxhim i kopjeve rezervë në shkallë ndërmarrjeje për mijëra përdorues SQL Server raste
  • Algoritme të avancuara të deduplikimit dhe kompresimit
  • Politika dhe planifikim fleksibël i rezervimit të kopjeve rezervë
  • Mbështetje për të gjithë SQL Server modelet e rimëkëmbjes
  • Integrimi me librarinë e tape-itraries dhe ruajtja në cloud
  • Rimëkëmbja granulare e bazave të të dhënave, tabelave dhe objekteve
  • Mbështetje për shumë platforma (Windows, Linux) SQL Server)
  • Menaxhimi i automatizuar i ciklit jetësor të kopjes rezervë

8.4 Rezervim dhe Rimëkëmbje e Plotë e Commvault për SQL Server

Commvault ofron menaxhim inteligjent të të dhënave me kopje rezervë gjithëpërfshirëse SQL Server aftësi dhe veçori të përparuara automatizimi.

Key Features:

  • Optimizimi i kopjeve rezervë të drejtuara nga inteligjenca artificiale dhe zbulimi i anomalive
  • Platformë e unifikuar për backup, rikuperim dhe arkivim
  • Avancuar SQL Server kompresim rezervë (zvogëlim deri në 90%)
  • Orkestrimi i automatizuar i rimëkëmbjes nga fatkeqësitë
  • Sinkronizim i drejtpërdrejtë për mbrojtje RPO pothuajse zero
  • Mbështetje për SQL Server vendosje në ambiente të hapura, në cloud dhe hibride
  • IntelliSnap për kopje rezervë të bazuara në pamje të çastit
  • Aftësi gjithëpërfshirëse për pajtueshmëri dhe zbulim elektronik

8.5 Cohesity DataProtect për SQL Server

Cohesity ofron menaxhim të të dhënave të gjeneratës së ardhshme me infrastrukturë hiperkonvergjente për modernitet. SQL Server operacionet e rezervimit.

Key Features:

  • Arkitekturë në shkallë webi për menaxhim të thjeshtuar
  • Aftësi të menjëhershme për rikuperimin masiv SQL Server Bazat e të dhënave
  • Pamje të qëndrueshme në përputhje me aplikacionin
  • Deduplikim global në të gjitha kopjet rezervë
  • Integrimi i reve kompjuterike vendase (AWS, Azure, Google Cloud)
  • Panele të integruara analitike dhe monitorimi
  • Aftësitë e klonimit dhe testimit të bazës së të dhënave
  • Mbrojtje nga Ransomware me pamje të pandryshueshme

8.6 Red Gate SQL Backup Pro

Red Gate SQL Backup Pro është një mjet i specializuar i fokusuar ekskluzivisht në optimizimin e SQL Server operacione të kopjimit rezervë dhe rivendosjes me kompresim dhe performancë superiore.

Key Features:

  • Raportet e kompresimit lider në industri (deri në 95%)
  • Rezistenca e rrjetit për ruajtjen e kopjeve rezervë SQL Server nëpër lidhje të pasigurta
  • Enkriptimi i kopjes rezervë me AES 256-bit
  • Verifikimi i kopjes rezervë dhe kontrolli i integritetit
  • Historiku dhe raportimi i detajuar i kopjeve rezervë
  • Integrimi me SQL Server Studio e Menaxhimit
  • Mbështetje për kopje rezervë në vendndodhjet e rrjetit dhe ruajtjen në cloud
  • Kopje rezervë dhe rivendosje paralele për operacione më të shpejta

9. Si të rivendosni SQL Server Baza e të dhënave

9.1 Kuptimi i Procesit të Rivendosjes

Rivendosja e a SQL Server Baza e të dhënave rikrijon bazën e të dhënave nga skedarët rezervë. Procesi i rikthimit lexon skedarin rezervë dhe e rindërton bazën e të dhënave në gjendjen e saj të rezervuar.

Konsiderata të rëndësishme:

  • Rivendosja mbishkruan bazën e të dhënave ekzistuese
  • Përdoruesit janë shkëputur gjatë rivendosjes
  • Rivendosja duhet të ndjekë sekuencën e kopjes rezervë (e plotë, pastaj diferenciale, pastaj regjistrat)
  • Baza e të dhënave nuk është e disponueshme gjatë operacionit të rivendosjes

9.2 Rivendosja e një kopjeje rezervë të plotë duke përdorur SSMS

Ndiqni këto hapa për të rivendosur një kopje rezervë të plotë të bazës së të dhënave.

9.2.1 Procesi i Rivendosjes Hap pas Hapi

  1. hapur SQL Server Studio e Menaxhimit dhe lidheni me serverin tuaj
  2. In Eksploruesi i Objekteve, kliko me të djathtën Bazat e të dhënave
  3. zgjedh Rivendosja e bazës së të dhënave
  4. Burim seksion, zgjidhni pajisje
  5. Kliko ... buton për të kërkuar skedarë rezervë
  6. Kliko Shtoj dhe shkoni te skedari juaj .bak
  7. Zgjidhni skedarin rezervë dhe klikoni OK
  8. destinacion seksion, futni emrin e bazës së të dhënave
  9. Rishikoni grupet e kopjeve rezervë për t'i rivendosur
  10. Kliko OK te starrivendosja

9.2.2 Opsionet dhe Cilësimet e Rivendosjes

Kliko Opcionet në panelin e majtë për të konfiguruar:

  • Mbishkruaj bazën e të dhënave ekzistuese (ME ZËVENDËSIM) – Lejon rivendosjen mbi bazën e të dhënave ekzistuese
  • Ruaj gjendjet e replikimit (ME KEEP_REPLICATION) - Mbaje SQL Server replikim ishin
  • Kufizo aksesin në bazën e të dhënave të restauruar (ME RESTRICTED_USER) – Limitet post-rivendos aksesin
  • Gjendja e rikuperimit – Zgjidhni midis RESTORE ME RICEVERY ose NO RICEVERY

9.3 Rivendosja e Rezervës Diferenciale

Rivendosja diferenciale kërkon kopje rezervë të plotë dhe diferenciale:

  1. Së pari, rivendosni kopjen rezervë të plotë me NORECOVERY alternativë
  2. Pastaj rivendosni kopjen rezervë diferenciale me Rimëkëmbjes alternativë

Shembull T-SQL:

-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO

9.4 Rivendosja me kopje rezervë të regjistrit të transaksioneve

Për rikuperimin në kohë, rikuperojeni në sekuencë:

  1. Rivendosni kopjen rezervë të plotë me NORECOVERY
  2. Rivendosni kopjen rezervë diferenciale me NORECOVERY (nëse është e disponueshme)
  3. Rivendosni kopjet rezervë të regjistrave të transaksioneve në rregull me NORECOVERY
  4. Rikthe kopjen rezervë të regjistrit përfundimtar me RECOVERY
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;

-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO

9.5 Rivendosja në kohë

Rivendosni bazën e të dhënave në një pikë specifike kohore duke përdorur opsionin STOPAT:

-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO

9.6 Rivendosja e Tabelës

SQL Server nuk mbështet rivendosjen direkte në nivel tabele nga skedarët rezervë. Megjithatë, ka ende disa zgjidhje.

9.6.1 Metoda 1: Pamje të shpejta të bazës së të dhënave (Më e mira për parandalim)

Pamjet e çastit të bazës së të dhënave ofrojnë mënyrën më të shpejtë për të rivendosur të dhënat e tabelës nëse krijohen para se të ndodhë problemi. Një pamje e çastit është një pamje statike vetëm për lexim e një baze të dhënash në një moment specifik në kohë.

Krijimi i një pamjeje të bazës së të dhënave:

-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data, 
  FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO

Rivendosja e të dhënave të tabelës nga një pamje e çastit:

USE ProductionDB;
GO

-- Replace entire table content
BEGIN TRANSACTION;

-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;

-- Clear current data
TRUNCATE TABLE dbo.Orders;

-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;

-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;

COMMIT TRANSACTION;
GO

Kërkesat e versionit: Pamjet e çastit të bazës së të dhënave janë të disponueshme në SQL Server Enterprise Edition (të gjitha versionet) dhe Standard Editiontarting me SQL Server 2016 SP1.

9.6.2 Metoda 2: Rivendosja në TemporarBaza e të Dhënave y (Most E zakonshme)

Kjo metodë funksionon kur duhet të rikuperoni të dhënat e tabelës pasi ndodh një problem dhe nuk ekziston një pamje e çastit:

  1. Rivendos kopjen rezervë në një ritëmrarbaza e të dhënave y
  2. Kopjoni të dhënat e tabelës nga tempojararbazës së të dhënave y në bazën e të dhënave aktuale

9.7 Rivendosja e faqes

Rivendosja e faqeve rikuperon faqet individuale të dëmtuara pa rivendosur të gjithë bazën e të dhënave, duke minimizuar kohën e ndërprerjes së punës. tarduke marrë vetëm faqe të korruptuara. Kjo veçori është e disponueshme vetëm në modelet e rikuperimit të plotë ose të regjistruar në masë dhe kërkon një zinxhir të pandërprerë të kopjeve rezervë të regjistrave të transaksioneve nga kopja rezervë e faqes deri në skedarin aktual të regjistrit.

Për të kryer rivendosjen e faqes, së pari identifikoni faqet e dëmtuara, bëni një kopje rezervë të regjistrit të tail-log, rivendosni faqet specifike dhe më pas aplikoni të gjitha regjistrat e transaksioneve:

-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');

-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;

-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;

-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO

Shënim: Rivendosja e faqes nuk është e disponueshme në modelin e thjeshtë të rikuperimit. Nuk mund të rikthesh faqet nga tabelat e sistemit ose meta të dhënat kryesore të grupit të skedarëve.

9.8 Rivendosje pjesë-pjesë

Rivendosja pjesë-pjesë (rivendosja e pjesshme) rikthen një bazë të dhënash në faza në nivelin e grupit të skedarëve, starduke u lidhur me grupin kryesor të skedarëve. Kjo i sjell të dhënat kritike në internet menjëherë, ndërsa të dhënat më pak kritike rikthehen në sfond. Sipas modelit të thjeshtë të rikuperimit, të gjitha grupet e skedarëve me lexim-shkrim duhet të rikthehen së bashku me grupin kryesor të skedarëve; vetëm grupet e skedarëve vetëm për lexim mund të rikthehen veçmas. Sipas modeleve të rikuperimit me regjistrim të plotë ose me regjistrim masiv, çdo grup skedarësh mund të sillet në internet në mënyrë të pavarur pas aplikimit të regjistrimeve të transaksioneve.

Modeli i rikuperimit Sjellja e Rivendosjes Pjesë-Pjesë
I thjeshtë Grupet kryesore të skedarëve dhe të gjitha grupet e skedarëve për lexim-shkrim u restauruan së bashku. Grupet e skedarëve vetëm për lexim u restauruan veçmas.
Regjistrim i plotë/me shumicë Çdo grup skedarësh u restaurua në mënyrë të pavarur në nivelin e grupit të skedarëve.

Shembull për modelin e rikuperimit të plotë - rivendosni së pari grupin kryesor të skedarëve për të sjellë bazën e të dhënave në internet, pastaj rivendosni grupet dytësore të skedarëve ndërsa baza e të dhënave mbetet funksionale:

-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO

-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;

RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO

Shembull për modelin e thjeshtë të rikuperimit:

-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;

-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO

9.9 Rivendosja duke përdorur komandat T-SQL

Përfundoni skriptin e rikuperimit me zhvendosjen e skedarit:

RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
     MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
     REPLACE,
     STATS = 10;
GO

9.10 Verifikimi i Integritetit të Kopjes së Ruajtjes Para Rivendosjes

Kontrolloni vlefshmërinë e kopjes rezervë pa e rivendosur:

RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO

Kjo komandë verifikon që grupi i kopjeve rezervë është i plotë dhe i lexueshëm pa rivendosur në të vërtetë bazën e të dhënave.

10. SQL Server Praktikat më të Mira të Rezervimit

10.1 Zhvillimi i një strategjie rezervë

10.1.1 Vlerësimi i Kërkesave të Biznesit

Para se të implementoni kopje rezervë, vlerësoni:

  • Kritikaliteti i të dhënave: Sa të rëndësishme janë këto të dhëna për operacionet?
  • Frekuenca e ndryshimit: Sa shpesh ndryshojnë të dhënat?
  • Madhësia e bazës së të dhënave: Sa e madhe është baza e të dhënave?
  • Burimet e disponueshme: Çfarë ruajtjeje dhe bandwidth-i janë në dispozicion?
  • Kërkesat për pajtueshmëri: Çfarë rregulloresh duhet të ndiqni?

10.1.2 Përcaktimi i RTO-së dhe RPO-së

Objektivi i Kohës së Rimëkëmbjes (RTO): Koha maksimale e pranueshme e ndërprerjes së funksionimit. Përcakton se sa shpejt duhet të rivendosni operacionet.

Objektivi i Pikës së Rimëkëmbjes (RPO): Humbja maksimale e pranueshme e të dhënave. Përcakton frekuencën e kopjimit rezervë.

Kërkesa RTO/RPO Strategjia e rekomanduar e rezervimit
RPO: Orari, RTO: Orari Regjistri i plotë ditor + transaksione çdo 1-2 orë
RPO: Minuta, RTO: Orë Kopje rezervë të plota ditore + të regjistrave çdo 15-30 minuta
RPO: Pothuajse zero, RTO: Minuta Grupet e disponueshmërisë gjithmonë në dispozicion + kopje rezervë të shpeshta të regjistrave
RPO: Ditë, RTO: Ditë Diferenciali javor i plotë + ditor

10.2 Krijimi i një Plani për Kopje Rezervimi

10.2.1 Rekomandime për Frekuencën

Orari tipik i kopjimit rezervë për bazat e të dhënave të prodhimit:

  • Kopje rezervë të plota: Javore (natën e së dielës gjatë aktivitetit të ulët)
  • Kopje rezervë diferenciale: Përditë (çdo natë)
  • Kopjet rezervë të regjistrave të transaksioneve: Çdo 15-30 minuta gjatë orarit të punës
  • Kopje rezervë vetëm për kopjim: Sipas nevojës për testim ose zhvillim

10.2.2 Balancimi i Performancës dhe Mbrojtjes

Merrni parasysh këta faktorë kur planifikoni:

  • Orët jashtë pikut: Kryeni kopje rezervë të plotë gjatë periudhave me aktivitet të ulët
  • Ndikimi i burimeve: Kompresimi zvogëlon I/O, por rrit përdorimin e CPU-së
  • Gjerësia e brezit të rrjetit: Planifikoni kopje rezervë të rrjetit kur trafiku është i ulët
  • Dritaret e kopjes rezervë: Sigurohuni që kopjet rezervë të përfundojnë para orarit të punës

10.3 Praktikat më të Mira të Ruajtjes së Kopjeve të Pajtuara

10.3.1 Magazinimi në Vend kundrejt atij jashtë Vendit

Kopje rezervë në vend:

  • Kohë më të shpejta për backup dhe rivendosje
  • C i ulëtost për akses me frekuencë të lartë
  • I prekshëm ndaj fatkeqësive lokale
  • Më e mira për skenarët e rikuperimit të shpejtë

Kopje rezervë jashtë faqes:

  • Mbrojtje nga fatkeqësitë specifike të vendit
  • Pajtueshmëria me kërkesat e tepricës gjeografike
  • Kohë më të ngadalta rikuperimi
  • Thelbësore për rimëkëmbjen nga fatkeqësitë

10.3.2 Opsionet e Rezervimit në Cloud

Përparësitë e ruajtjes në cloud:

  • Ruajtja Azure Blob: Autokton SQL Server integrim, cost-efektive për akses të rrallë
  • Amazon S3: Shtresa magazinimi shumë të qëndrueshme dhe fleksibile
  • Ruajtja në renë kompjuterike të Google: Çmime konkurruese, disponueshmëri globale

10.3.3 Politikat e Ruajtjes së Kopjeve të Zbrazta

Politika e ruajtjes së mostrës:

  • Mbani kopje rezervë ditore për 7 ditë
  • Mbani kopje rezervë javore për 4 javë
  • Mbani kopje rezervë mujore për 12 muaj
  • Mbani kopje rezervë vjetore për 7 vjet (pajtueshmëri)

10.4 Kompresimi dhe Enkriptimi i Kopjeve të Rezervuara

Përfitimet e kompresimit:

  • Zvogëlon madhësinë e skedarit rezervë me 50-70%
  • Zvogëlon kohën e rezervimit
  • Ul hapësirën e ruajtjesosts
  • Zvogëlon gjerësinë e brezit të rrjetit për kopje rezervë në distancë

Praktikat më të mira të enkriptimit:

  • Enkripto gjithmonë kopjet rezervë që përmbajnë të dhëna të ndjeshme
  • Përdorni enkriptimin AES 256-bit
  • Menaxhimi i sigurt i certifikatës ose çelësit
  • Dokumentoni çelësat e enkriptimit dhe ruajini ato veçmas

10.5 Testimi dhe Verifikimi i Kopjeve të Pamjes

10.5.1 Testimi i rregullt i rikthimit

Testoni procedurat e rivendosjes çdo tremujor ose çdo muaj:

  1. Rivendos kopjet rezervë në një mjedis testimi
  2. Verifikoni integritetin dhe plotësinë e të dhënave
  3. Kontrolloni funksionalitetin e aplikacionit
  4. Koha e rikthimit të dokumentit (validoni RTO-në)
  5. Identifikoni dhe zgjidhni çdo problem

10.5.2 Përdorimi i RESTORE VERIFYONLY

Automatizoni validimin e kopjes rezervë:

-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

Kryeni verifikimin menjëherë pas përfundimit të kopjes rezervë ose si pjesë e mirëmbajtjes së planifikuar.

10.6 Automatizimi dhe Monitorimi i Rezervimit

10.6.1 SQL Server Punë agjentësh

Krijoni punë automatike rezervimi:

  1. Expand SQL Server AgjentExternal Link në SSMS
  2. Djathtas-klikoni Punë dhe përzgjidhni Punë e re
  3. Emërtoni punën (p.sh., "Kopje rezervë e plotë ditore")
  4. Shto një Hap me komandat rezervë T-SQL
  5. Krijo një Orar për kohën e ekzekutimit
  6. Konfiguroni Njoftimet për sukses/dështim

10.6.2 Planet e Mirëmbajtjes

SQL Server Planet e Mirëmbajtjes ofrojnë një ndërfaqe vizuale për automatizimin e kopjeve rezervë:

  1. Shkoni tek drejtuesit -> Planet e Mirëmbajtjes
  2. Klikoni me të djathtën dhe zgjidhni Magjistari i planit të mirëmbajtjes
  3. Zgjidhni detyrat e rezervimit për t'i automatizuar
  4. Konfiguro orarin dhe opsionet e rezervimit
  5. Konfiguro raportimin dhe regjistrimin

10.6.3 Alarme dhe Njoftime për Kopje Rezervë

Konfiguro njoftimet me email:

  • Konfiguro Postën e Bazës së të Dhënave në SQL Server
  • Krijo alarme për dështimet e kopjes rezervë
  • Monitoroni historikun e punëve të kopjimit rezervë
  • Dërgoni raporte përmbledhëse te administratorët

10.7 Dokumentacioni dhe Planifikimi i Rimëkëmbjes nga Fatkeqësitë

Mbani dokumentacion gjithëpërfshirës:

  • Orari i rezervimit: Kur dhe çfarë ruhet
  • Politikat e mbajtjes: Për sa kohë ruhen kopjet rezervë
  • Vendet e ruajtjes: Ku ruhen kopjet rezervë
  • Procedurat e rikuperimit: Udhëzime rikuperimi hap pas hapi
  • Informacioni i kontaktit: Personeli kryesor dhe shitësit
  • Rezultatet e testit të rikuperimit: Rezultatet e dokumentuara të testeve

11. të përparuara SQL Server Skenarët e Rezervës

11.1 Krijimi i kopjeve rezervë të bazave të të dhënave shumë të mëdha (VLDB)

11.1.1 Strategjitë e Skedarëve dhe Grupeve të Skedarëve

Për bazat e të dhënave që tejkalojnë disa qindra gigabajt:

  • Ndani të dhënat vetëm për lexim dhe të dhënat vetëm për lexim dhe shkrim në grupe të ndryshme skedarësh
  • Krijo kopje rezervë të rrallë të grupeve të skedarëve vetëm për lexim
  • Përqendroni kopjet rezervë të shpeshta në grupet aktive të skedarëve
  • Përdorni kopje rezervë në nivel skedari për kontroll të detajuar

Shembull i kopjimit rezervë të skedarit:

-- Back up specific file
BACKUP DATABASE LargeDB 
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO

11.1.2 Optimizimi i Performancës së Kopjimit të të Dhënave Rezervë

Përmirësoni performancën e kopjes rezervë të VLDB:

  • Kopje rezervë me vija: Shkruaj në shumë skedarë njëkohësisht
  • Compression: Zvogëloni kërkesat e hyrjes/daljes dhe ruajtjes
  • Pajisje të shumta rezervimi: Paralelizoni operacionet e rezervimit
  • Ruajtje e shpejtë: Përdorni SSD për përgatitjen e kopjeve rezervë
  • Numri i buferëve: Opsioni Rrit BUFFERCOUNT
  • Madhësia maksimale e transferimit: Optimizo cilësimin MAXTRANSFERSIZE
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
   DISK = 'D:\Backups\LargeDB_2.bak',
   DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
     BUFFERCOUNT = 100,
     MAXTRANSFERSIZE = 4194304;
GO

11.2 Kopje rezervë në Grupet e Disponueshmërisë Gjithmonë Aktive

Grupet Gjithmonë në Disponueshmëri shpërndajnë ngarkesën e kopjes rezervë nëpër replikat:

  • Konfiguro preferencat e kopjes rezervë (primare, sekondare ose çdo kopje tjetër)
  • Zhvendosni kopjet rezervë në kopje dytësore për të zvogëluar ngarkesën kryesore të punës
  • Përdorni kopje rezervë COPY_ONLY në kopjet dytësore
  • Monitoroni cilësimet e përparësisë së rezervimit
-- Check backup preferences
SELECT 
    ag.name AS AvailabilityGroup,
    ar.replica_server_name,
    ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO

11.3 Rezervimi për Pasqyrimin e Bazës së të Dhënave

Në skenarët e pasqyrimit të bazës së të dhënave:

  • Bëni kopje rezervë të bazës së të dhënave kryesore rregullisht
  • Kopjet rezervë të regjistrave të transaksioneve janë thelbësore për pasqyrimin
  • Baza e të dhënave pasqyrë është në gjendje RESTAURUESE (nuk mund të krijohet kopje rezervë direkt)
  • Konsideroni krijimin e një kopje rezervë të pasqyrës pas ndërrimit të skedarëve (failover)

11.4 Rezervimi në Azure Blob Storage

SQL Server mund të kopjoj kopje rezervë direkt në Azure Blob Storage:

  1. Krijo një llogari ruajtjeje Azure
  2. Krijo SQL Server kredenciale për vërtetimin e Azure
  3. Përdor sintaksën e URL-së për destinacionin e kopjes rezervë
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO

-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
     STATS = 10;
GO

11.5 Rezervimi në URL

Përfitimet e krijimit të kopjeve rezervë në URL:

  • Kapacitet i pakufizuar i ruajtjes në cloud
  • Redundanca gjeografike trajtohet automatikisht
  • Modeli i çmimeve me pagesë
  • Nuk kërkohet hapësirë ​​disku lokal
  • Mbështet deri në 64 URL për kopje rezervë (striping)

11.6 Kopje rezervë me vija për performancë

Kopjet rezervë me vija ndajnë të dhënat në skedarë të shumtë për I/O më të shpejtë:

-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
   DISK = 'D:\Backups\AW_Stripe2.bak',
   DISK = 'E:\Backups\AW_Stripe3.bak',
   DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO

Shënim: Të gjitha skedarët stripe janë të nevojshëm për rivendosje. Mungesa e ndonjë skedari e bën kopjen rezervë të papërdorshme.

12. Troubleshooting SQL Server Probleme me kopjet rezervë

12.1 Gabime dhe Zgjidhje të Zakonshme të Kopjimit të të Dhënave

Gabim: "Gabim i sistemit operativ 5: Qasja është e mohuar"

  • Shkak: SQL Server llogaria e shërbimit nuk ka leje
  • Zgjidhja: Jepni leje shkrimi për SQL Server llogaria e shërbimit në dosjen rezervë

Gabim: “Nuk mund të hapet pajisja rezervë… Gabim i pajisjes ose pajisja është jashtë linje”

  • Shkak: Shteg i pavlefshëm ose ndarje rrjeti e padisponueshme
  • Zgjidhja: Verifikoni që ekziston rruga, kontrolloni lidhjen e rrjetit, sigurohuni që të keni hapësirë ​​të mjaftueshme në disk

Gabim: "Nuk ka hapësirë ​​të mjaftueshme në disk"

  • Shkak: Hapësirë ​​disku e pamjaftueshme për kopje rezervë
  • Zgjidhja: Liro hapësirë ​​në disk, përdor kompresimin, bëj kopje rezervë në një vendndodhje tjetër

Gabim: "Baza e të dhënave në përdorim. Baza e të dhënave është në përdorim nga përdorues të tjerë"

  • Shkak: Lidhje aktive gjatë rivendosjes
  • Zgjidhja: Përdorni opsionin ME ZËVENDËSIM ose shkëputni përdoruesit më parë

12.2 Probleme me Performancën e Kopjimit të të Dhënave

Diagnostikoni kopjet rezervë të ngadalta:

  • Kontrolloni performancën e hyrjes/daljes së diskut duke përdorur Performance Monitor
  • Monitoroni progresin e kopjimit rezervë me opsionin STATS
  • Rishikim SQL Server regjistri i gabimeve për bllokimet
  • Konsideroni kompresimin për të zvogëluar I/O-në
  • Përdorni kopje rezervë me vija në disqe të shumta

Pyetje për të monitoruar progresin e kopjes rezervë:

SELECT 
    session_id,
    command,
    percent_complete,
    CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
    + CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
    + CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
    CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
    + CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
    + CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
    dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests 
WHERE command LIKE 'BACKUP%';
GO

12.3 Probleme me Hapësirën dhe Magazinimin

Parandalimi i problemeve me ruajtjen:

  • Zbatoni politikat e mbajtjes së të dhënave: Fshi automatikisht kopjet rezervë të vjetra
  • Përdorni kompresimin: Zvogëloni madhësinë e skedarit rezervë me 50-70%
  • Arkivoni në një hapësirë ​​​​ruajtjeje më të lirë: Zhvendosni kopjet rezervë të vjetra në hapësirën ruajtëse të arkivit
  • Monitorimi i hapësirës së diskut: Konfiguro alarme për hapësirë ​​të ulët në disk
  • Madhësia e llogaritur e rezervimit: Llogarit madhësinë e pritur para se të krijosh kopje rezervë

Madhësia e llogaritur e rezervimit:

-- Estimate full backup size
EXEC sp_spaceused;
GO

12.4 Çështje të Lejes dhe Qasjes

Lejet e kërkuara për kopjet rezervë:

  • BAZA E TË DHËNAVE TË REZERVIMIT leje
  • db_backupoperator anëtarësim në rol
  • sysadmin roli i serverit (për të gjitha operacionet e kopjimit rezervë)

Jep leje për kopje rezervë:

-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO

-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO

12.5 Skedarët e korruptuar të rezervimit

Zbuloni dhe trajtoni kopjet rezervë të korruptuara:

Verifikoni integritetin e kopjes rezervë:

RESTORE VERIFYONLY 
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO

Aktivizo CHECKSUM për kopjet rezervë të ardhshme:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO

Strategjitë e parandalimit:

  • Përdor gjithmonë opsionin CHECKSUM gjatë kopjes rezervë
  • Verifikoni kopjet rezervë menjëherë pas krijimit
  • Testet rikthehen rregullisht
  • Ruani kopjet rezervë në një ruajtje të besueshme
  • Mbani kopje të shumta rezervë

12.6 Rikuperimi i të dhënave nga skedarët rezervë të korruptuar

Nëse skedarët tuaj rezervë janë të dëmtuar dhe ende dëshironi të rikuperoni të dhëna prej tyre, mund të përdorni mjete të palëve të treta, të tilla si DataNumen SQL Recovery, si më poshtë:

  1. Start DataNumen SQL Recovery.
  2. Zgjidhni skedarin e dëmtuar të kopjes rezervë si skedarin burimor duke ndryshuar filtrin në "Të gjithë skedarët (*.*)":
    Zgjidhni skedarin e dëmtuar të kopjes rezervë (*.bak) si skedarin burimor që do të rikuperohet.
  3. Vendos skedarin .MDF të daljes nëse është e nevojshme.
  4. Klikoni "Start Recovery” dhe ndiqni udhëzimet për të rikuperuar bazën e të dhënave.
  5. Pas procesit të rikuperimit, do të shfaqet një bazë të dhënash e re rikuperimi. SQL Server i cili përmban të gjitha të dhënat e rikuperuara.

përdorim DataNumen SQL Recovery për të rikuperuar të dhënat nga të korruptuarit SQL Server skedar rezervë (*.bak).

13. SQL Server Siguria e Rezervimit

13.1 Sigurimi i skedarëve rezervë

Mbroni skedarët rezervë nga qasja e paautorizuar:

  • Lejet e sistemit të skedarëve: Kufizoni aksesin vetëm për administratorët e autorizuar
  • Siguria e rrjetit: Përdorni protokolle të sigurta për kopje rezervë të rrjetit
  • Siguria fizike: Ruani mediat rezervë në vende të sigurta
  • Regjistrimi i aksesit: Auditimi i aksesit në skedarin rezervë

13.2 Opsionet e Enkriptimit

SQL Server mbështet enkriptimin transparent të kopjes rezervë:

Krijo certifikatë për enkriptim:

-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO

-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO

Kopje rezervë e enkriptuar:

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
     ENCRYPTION (
         ALGORITHM = AES_256,
         SERVER CERTIFICATE = BackupCertificate
     );
GO

E rëndësishme: Krijoni një kopje rezervë të certifikatës dhe çelësit privat veçmas. Pa to, kopjet rezervë të enkriptuara nuk mund të rikthehen.

-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
    FILE = 'C:\Certificates\BackupCertificate.key',
    ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO

13.3 Kontrolli i Qasjes dhe Lejet

Zbatoni parimin e privilegjit më të vogël:

  • Jep leje rezervimi vetëm për llogaritë e nevojshme
  • Përdorni llogari të ndara për operacionet e kopjimit rezervë dhe rivendosjes
  • Shmangni përdorimin e llogarisë SA për kopje rezervë
  • Kontrolloni rregullisht lejet e kopjimit rezervë
  • Hiq lejet kur nuk nevojiten më

13.4 Konsideratat e Pajtueshmërisë

Adresoni kërkesat rregullatore:

  • GDPR: Enkripto kopjet rezervë që përmbajnë të dhëna personale, zbato politikat e ruajtjes
  • HIPAA: Enkripto PHI në kopje rezervë, kontrollo aksesin, mirëmbaj gjurmët e auditimit
  • PCI DSS: Enkripto kopjet rezervë të të dhënave të mbajtësit të kartës, ruajtje e sigurt e kopjeve rezervë
  • SOX: Ruajtja e integritetit të kopjes rezervë, politikat e ruajtjes së dokumenteve

14. Monitorimi dhe Mirëmbajtja e Operacioneve të Rezervës

14.1 Gjurmimi i Historikut të Kopjeve të Rezervuara

SQL Server ruan historinë e kopjeve rezervë në bazën e të dhënave msdb:

-- View recent backup history
SELECT 
    bks.database_name,
    bks.backup_start_date,
    bks.backup_finish_date,
    CASE bks.type
        WHEN 'D' THEN 'Full'
        WHEN 'I' THEN 'Differential'
        WHEN 'L' THEN 'Log'
        ELSE 'Other'
    END AS backup_type,
    bks.backup_size / 1024 / 1024 AS backup_size_mb,
    bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO

Gjeni bazat e të dhënave pa kopje rezervë të kohëve të fundit:

SELECT 
    d.name AS database_name,
    MAX(bs.backup_finish_date) AS last_backup_date,
    DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4  -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
    OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO

14.2 Duke përdorur SQL Server Raportet

SQL Server Management Studio përfshin raporte të integruara rezervimi:

  1. Klikoni me të djathtën në bazën e të dhënave në Object Explorer
  2. zgjedh Raportet -> Raportet standarde
  3. Zgjidhni nga raportet e disponueshme:
    • Ngjarjet e Rezervimit dhe Rivendosjes
    • Të gjitha kopjet rezervë
    • Statusi i Dërgimit të Regjistrit të Transaksioneve

14.3 Mjete Monitorimi nga Palët e Treta

Zgjidhje monitorimi komercial:

  • SQL Sentry: Monitorim dhe alarmim gjithëpërfshirës
  • Monitori SQL i Redgate: Monitorim dhe diagnostikim në kohë realeostICS
  • Analizuesi i Performancës së Bazës së të Dhënave SolarWinds: Monitorimi i performancës dhe i kopjes rezervë
  • Diagnoza SQL e IderësostMenaxheri i ic: Validimi dhe njoftimi i kopjes rezervë

14.4 Kontrollet e gjendjes së kopjes rezervë

Krijoni një procedurë kontrolli shëndetësor:

-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
    -- Check for databases without recent full backup
    SELECT 
        'Missing Recent Full Backup' AS issue,
        d.name AS database_name,
        ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
    FROM sys.databases d
    LEFT JOIN msdb.dbo.backupset bs 
        ON d.name = bs.database_name AND bs.type = 'D'
    WHERE d.database_id > 4
    GROUP BY d.name
    HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
        AND j.name LIKE '%backup%';
END
GO

15. SQL Server Pyetje të shpeshta rreth rezervimit

15.1 Sa shpesh duhet të bëj kopje rezervë SQL Server?

Frekuenca e kopjimit rezervë varet nga Objektivi juaj i Pikës së Rimëkëmbjes (RPO):

  • Bazat e të dhënave kritike të prodhimit: Javore e plotë, diferenciale ditore, regjistër çdo 15-30 minuta
  • Bazat e të dhënave standarde të prodhimit: Javore e plotë, diferenciale ditore, regjistër çdo 1-2 orë
  • Bazat e të dhënave të zhvillimit: Plotësisht çdo ditë ose javë
  • Bazat e të dhënave vetëm për lexim: I plotë pas çdo ndryshimi të të dhënave

15.2 Cili është ndryshimi midis rezervës së plotë dhe asaj diferenciale?

Një kopje rezervë e plotë kopjon të gjithë bazën e të dhënave, ndërsa një kopje rezervë diferenciale kap vetëm ndryshimet që nga kopja rezervë e fundit e plotë. Kopjet rezervë diferenciale janë më të vogla dhe më të shpejta, por kërkojnë kopjen rezervë të plotë bazë për restaurim.

15.3 A mund të bëj kopje rezervë? SQL Server Ndërsa është në funksion?

Po, SQL Server Mbështet kopjet rezervë në internet. Përdoruesit mund të vazhdojnë të punojnë gjatë operacioneve të kopjes rezervë. SQL Server përdor regjistrin e tij të transaksioneve për të ruajtur qëndrueshmërinë, duke siguruar që kopjet rezervë të jenë të vlefshme edhe me modifikime të njëkohshme.

15.4 Sa kohë zgjat SQL Server Marrje rezervë?

Kohëzgjatja e rezervimit ndryshon në varësi të:

  • Madhësia e bazës së të dhënave: Bazat e të dhënave më të mëdha zgjasin më shumë
  • Lloji i rezervimit: Kopjet rezervë të plota zgjasin më shumë
  • Compression: Mund të rrisë kohën e CPU-së, por të zvogëlojë kohëzgjatjen e përgjithshme
  • Shpejtësia e ruajtjes: SSD dukshëm më të shpejta se HDD-të
  • Ngarkesa e serverit: Aktiviteti më i lartë ngadalëson kopjet rezervë

Diapazoni tipik: Një bazë të dhënash prej 10 GB mund të zgjasë 5-15 minuta për një kopie rezervë të plotë me kompresim në pajisjet moderne.

15.5 Ku duhet ta ruaj SQL Server Kopje rezervë?

Praktika më e mirë: Ndiqni rregullin 3-2-1:

  • 3 kopjet e të dhënave tuaja
  • 2 lloje të ndryshme të ruajtjes (p.sh., disk dhe shirit/cloud)
  • 1 kopjo jashtë faqes

Vendndodhjet e rekomanduara:

  • Disk lokal për rikuperim të shpejtë
  • Magazinim në rrjet për menaxhim të centralizuar
  • Ruajtje në re (Azure, AWS) për rikuperim nga fatkeqësitë

15.6 Cili është zgjerimi i skedarit .bak?

Prapashtesa .bak është prapashtesa e parazgjedhur e skedarit për SQL Server skedarët rezervë. Është një konventë, jo një kërkesë – SQL Server Kopjet rezervë funksionojnë me çdo prapashtesë skedari. Megjithatë, përdorimi i .bak i bën skedarët rezervë lehtësisht të identifikueshëm dhe është një praktikë standarde e industrisë.

15.7 Si të bëni kopje rezervë SQL Server te Disku i Rrjetit?

Për të bërë kopje rezervë në një disk rrjeti:

  1. Siguroj SQL Server Llogaria e shërbimit ka leje shkrimi në pjesën e rrjetit
  2. Përdorni shtegun UNC në komandën rezervë: \\ServerName\ShareName\BackupFile.bak
  3. Testoni lidhshmërinë përpara se të planifikoni kopje rezervë automatike
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO

15.8 A mund të kompresoj SQL Server Kopje rezervë?

Po, SQL Server mbështet kompresimin nativ të kopjes rezervë (Edicioni i Ndërmarrjes ose Edicioni Standard)targjë SQL Server 2016 SP1). Kompresimi zakonisht zvogëlon madhësinë e kopjes rezervë me 50-70% dhe shpesh zvogëlon kohën e kopjes rezervë duke zvogëluar I/O, megjithëse rrit përdorimin e CPU-së.

BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO

16. Përfundim

16.1 Marrëveshje kryesore

Në fuqi SQL Server Strategjitë e rezervimit mbrojnë të dhënat tuaja dhe sigurojnë vazhdimësinë e biznesit. Mbani mend këto pika thelbësore:

  • Kuptoni llojet e kopjeve rezervë: Zgjidhni llojet e duhura të kopjeve rezervë (të plota, diferenciale, regjistra transaksionesh) bazuar në kërkesat tuaja të rikuperimit.
  • Zgjidhni modelin e duhur të rikuperimit: Rimëkëmbje e plotë për të dhënat kritike, e thjeshtë për zhvillimin e bazave të të dhënave
  • Zbatoni orarin e kopjimit rezervë: Kopjet rezervë të rregullta të plota të kombinuara me kopje rezervë diferenciale dhe të regjistrave minimizojnë humbjen e të dhënave
  • Procedurat e testimit të rivendosjes: Kopjet rezervë janë të vlefshme vetëm nëse mund të restaurohen me sukses
  • Automatizoni dhe monitoroni: përdorim SQL Server Agjent, plane mirëmbajtjeje dhe mjete monitorimi
  • Kopje rezervë të sigurta: Enkripto të dhënat e ndjeshme dhe kontrollo aksesin në skedarët rezervë
  • Ruani kopje jashtë vendit: Mbroni nga fatkeqësitë në të gjithë faqen me ruajtje në renë kompjuterike ose në distancë
  • Dokumentoni gjithçka: Mbani dokumentacion të qartë të procedurave të kopjimit të rezervës dhe rikuperimit

16.2 Hapat dhe burimet e ardhshme

Për të përmirësuar tuajin SQL Server Implementimi i kopjes rezervë:

  • Vlerësoni strategjinë tuaj aktuale të rezervimit kundrejt praktikave më të mira
  • Llogaritni kërkesat tuaja RTO dhe RPO
  • Testimi i procedurave të rivendosjes në sistemet jo-prodhuese
  • Rishikoni dhe përditësoni oraret e kopjimit rezervë rregullisht
  • Zbatoni monitorim dhe alarmim të automatizuar
  • Trajnoni anëtarët e ekipit mbi procedurat e rivendosjes

Burimet shtesë:

  • microsoft SQL Server Dokumentacioni: Udhëzime zyrtare për kopjimin e rezervës dhe rivendosjen e të dhënave
  • SQL Server forume të komunitetit të kopjeve rezervë: Ndani përvoja dhe zgjidhje
  • Certifikime profesionale: Microsoft Certified: Azure Database Administrator Associate

16.3 Mjete dhe Zgjidhje të Rekomanduara

Bazuar në skenarë të ndryshëm:

Bizneset e vogla:

  • Autokton SQL Server kopje rezervë me orar SQL Server Punë agjentësh
  • SQLBackupAndFTP për integrimin në cloud
  • Backup i Azure për SQL Server

Ndërmarrjet e mesme:

  • SQL Server Planet e Mirëmbajtjes
  • Mjete të palëve të treta si Redgate SQL Backup Pro
  • Veeam Rezervim për SQL Server

Ndërmarrjet e mëdha:

  • Quest LiteSpeed ​​për kompresim maksimal
  • Commvault ose Veritas NetBackup për menaxhimin e kopjeve rezervë të ndërmarrjeve
  • Grupet Gjithmonë të Disponueshme për disponueshmëri e lartë

SQL Server Kopja rezervë është thelbësore për administrimin e bazës së të dhënave. Me planifikim, zbatim dhe testim të duhur, mund të siguroheni që të dhënat tuaja të mbeten të mbrojtura dhe të rikuperueshme kur të jetë e nevojshme.tarduke zbatuar këto praktika më të mira sot për të siguruar tuajin SQL Server Bazat e të dhënave.


Rreth Autorit

Yuan Sheng është një administrator i lartë i bazave të të dhënave (DBA) me mbi 10 vjet përvojë në SQL Server mjedise dhe menaxhim të bazave të të dhënave të ndërmarrjeve. Ai ka zgjidhur me sukses qindra skenarë të rikuperimit të bazave të të dhënave në të gjitha shërbimet financiare, kujdesin shëndetësor dhe organizatat prodhuese.

Yuan specializohet në SQL Server rikuperimi i bazës së të dhënave, zgjidhje me disponueshmëri të lartë dhe optimizimi i performancës. Përvoja e tij e gjerë praktike përfshin menaxhimin e bazave të të dhënave me shumë terabajt, zbatimin e Grupeve Gjithmonë të Disponueshme dhe zhvillimin e strategjive të automatizuara të kopjimit rezervë dhe rikuperimit për sisteme biznesi kritike për misionin.

Përmes ekspertizës së tij teknike dhe qasjes praktike, Yuan përqendrohet në krijimin e udhëzuesve gjithëpërfshirës që ndihmojnë administratorët e bazave të të dhënave dhe profesionistët e IT-së të zgjidhin probleme komplekse. SQL Server sfidat në mënyrë efikase. Ai qëndron i azhurnuar me të rejat SQL Server lëshimet dhe teknologjitë në zhvillim e sipër të bazës së të dhënave të Microsoft-it, duke testuar rregullisht skenarët e rikuperimit për të siguruar që rekomandimet e tij pasqyrojnë praktikat më të mira të botës reale.

Keni pyetje rreth SQL Server Rimëkëmbje ose keni nevojë për udhëzime shtesë për zgjidhjen e problemeve të bazës së të dhënave? Yuan mirëpret? Mirëpresim Yuanin. reagime dhe sugjerime për përmirësimin e këtyre burimeve teknike.