Skupna raba zdaj:
Kazalo skrij

backup SQL Server baza podatkov z našim popolnim vodnikom za leto 2025. Navodila po korakih in najboljše prakse za vse ravni znanja.

1. Uvod v SQL Server backup

1.1 Kaj je SQL Server Varnostna kopija?

SQL Server Varnostno kopiranje je postopek ustvarjanja kopij datotek vaše baze podatkov za zaščito pred izgubo podatkov. Varnostno kopiranje zajame stanje vaše baze podatkov v določenem trenutku, kar vam omogoča obnovitev podatkov, če pride do okvare strojne opreme, človeških napak ali katastrof.

SQL Server privzeto shranjuje varnostne kopije v datotekah .bak, ki vsebujejo vse objekte baze podatkov, vključno s tabelami, shranjenimi procedurami, pogledi, indeksi in dnevniki transakcij.

1.2 Zakaj SQL Server Varnostno kopiranje je ključnega pomena

Varnostne kopije baz podatkov služijo kot vaša zadnja obrambna linija pred izgubo podatkov. Brez ustreznih varnostnih kopij vaša organizacija tvega:

  • Trajna izguba podatkov zaradi okvar ali poškodb strojne opreme
  • Podaljšan čas nedelovanja med poskusi okrevanja
  • Motnje v poslovanju in izguba prihodkov
  • Kršitve skladnosti če podatkov ni mogoče obnoviti
  • Poškodba ugleda zaradi prekinitev storitev

redno SQL Server Varnostne kopije zagotavljajo neprekinjeno poslovanje in izpolnjujejo regulativne zahteve za varstvo podatkov.

1.3 Pogosti scenariji izgube podatkov

Razumevanje, kdaj pride do izgube podatkov, vam pomaga razviti učinkovito strategijo varnostnega kopiranja:

  • Napake strojne opreme: Zrušitve diska, okvare strežnika ali okvare sistema za shranjevanje
  • Človeške napake: Nenamerni izbrisi, napačne posodobitve ali izpuščene tabele
  • Težave s programsko opremo: Napake v aplikacijah, poškodovane posodobitve ali zrušitve sistema
  • Kršitve varnosti: Napadi izsiljevalske programske opreme, zlonamerni izbrisi ali nepooblaščen dostop
  • Naravne nesreče: Požari, poplave ali izpadi električne energije, ki vplivajo na podatkovne centre

2. Razumevanje SQL Server Vrste varnostnih kopij

SQL Server podpira več vrst varnostnih kopij, od katerih vsaka ustreza različnim potrebam po obnovitvi in ​​​​zahtevam shranjevanja.

2.1 Popolna varnostna kopija

Popolna varnostna kopija ustvari popolno kopijo celotne baze podatkov, vključno z vsemi podatkovnimi datotekami in delom dnevnika transakcij, ki je potreben za obnovitev.

2.1.1 Kdaj uporabiti popolno varnostno kopijo

Popolne varnostne kopije so idealne za:

  • Vzpostavitev osnovne vrednosti za druge vrste varnostnih kopij
  • Majhne do srednje velike baze podatkov, kjer je čas varnostnega kopiranja sprejemljiv
  • Tedenski ali mesečni urniki varnostnega kopiranja
  • Podatkovne baze z redkimi spremembami

2.1.2 Prednosti in omejitve popolne varnostne kopije

prednosti:

  • Najenostavnejši postopek obnovitve – ena sama datoteka vsebuje vse
  • Samostojen in neodvisen od drugih varnostnih kopij
  • Najhitrejši čas obnovitve za popolno obnovo baze podatkov

omejitve:

  • Zahteva precejšen prostor za shranjevanje
  • Daljši čas varnostnega kopiranja za velike baze podatkov
  • Večja poraba virov med varnostnim kopiranjem

2.2 Diferencialno varnostno kopiranje

Diferencialna varnostna kopija zajame le spremembe podatkov od zadnje popolne varnostne kopije, kar skrajša čas varnostnega kopiranja in zahteve glede shranjevanja.

2.2.1 Kako deluje diferencialno varnostno kopiranje

Diferencialne varnostne kopije sledijo spremembam z uporabo spremenjenih ekstentov. Ko obnovite, SQL Server najprej uporabi zadnjo popolno varnostno kopijo, nato pa uporabi najnovejšo diferencialno varnostno kopijo.

2.2.2 Polna in diferencialna varnostna kopija

Polna v primerjavi z diferencialno varnostno kopijo

Vidik Popolna varnostna kopija Diferencialno varnostno kopiranje
Velikosti Popolna baza podatkov Samo spremembe od zadnje popolne varnostne kopije
Čas za varnostno kopiranje Najdaljši Hitreje kot polno
Postopek obnovitve Obnovitev ene datoteke Zahteva polno + diferencialno
Zahtevana shramba Največ prostora Na začetku manj prostora, sčasoma raste

2.3 Varnostno kopiranje dnevnika transakcij

Varnostne kopije dnevnika transakcij zajamejo vse transakcije od zadnje varnostne kopije dnevnika, kar omogoča obnovitev v trenutku.

2.3.1 Razumevanje dnevnikov transakcij

Dnevnik transakcij beleži vsako spremembo vaše baze podatkov. Varnostne kopije dnevnika skrajšajo neaktivni del dnevnika, kar preprečuje, da bi se ta v nedogled povečeval in zapolnil vaš disk.

2.3.2 Obnovitev v določenem trenutku

Varnostne kopije dnevnika transakcij vam omogočajo, da obnovite svojo bazo podatkov na kateri koli določen trenutek znotraj varnostne kopije dnevnika. To je ključnega pomena za obnovitev po nenamernih spremembah ali izbrisih podatkov.

Za izvedbo obnovitve v določenem trenutku potrebujete:

  • Zadnja popolna varnostna kopija
  • Najnovejša diferencialna varnostna kopija (neobvezno)
  • Vse varnostne kopije dnevnika transakcij od popolne/diferencialne varnostne kopije do ciljnega časa

2.4 Varnostno kopiranje dnevnika repa

Varnostne kopije repnih dnevnikov zajamejo zapise dnevnika, ki še niso bili varnostno kopirani, s čimer preprečijo izgubo podatkov in ohranijo nedotaknjeno verigo dnevnikov. Pred obnovitvijo SQL Server Za obnovitev baze podatkov do njenega najnovejšega trenutka v času morate varnostno kopirati zadnji del dnevnika transakcij. Varnostna kopija zadnjega dela dnevnika je zadnja varnostna kopija, ki vas zanima v načrtu obnovitve baze podatkov.

Diagram, ki pojasnjuje varnostne kopije dnevnika repa v SQL Server.

Opomba: Vsi scenariji obnovitve ne zahtevajo varnostne kopije dnevnika. Ne potrebujete je, če je obnovitvena točka vsebovana v prejšnji varnostni kopiji dnevnika. Varnostna kopija dnevnika ni potrebna tudi, če premikate ali zamenjujete (prepisujete) bazo podatkov in je ni treba obnoviti na točko po njeni najnovejši varnostni kopiji.

2.4.1 Kdaj so potrebne varnostne kopije dnevnika repa

Naslednji scenariji opisujejo, kdaj morate narediti varnostno kopijo dnevnika:

Obnova spletne baze podatkov: Če je baza podatkov v spletu in nameravate izvesti obnovitev baze podatkov, začnite z varnostnim kopiranjem konca dnevnika. Da se izognete napaki za spletno bazo podatkov, morate pri varnostnem kopiranju uporabiti možnost WITH NORECOVERY v stavku BACKUP Transact-SQL. SQL Server baze podatkov.

Obnovitev baze podatkov brez povezave: Če je baza podatkov brez povezave in se ne zažene ter jo morate obnoviti, najprej varnostno kopirajte rep dnevnika. Ker v tem trenutku ni mogoče izvesti nobenih transakcij, je uporaba možnosti WITH NORECOVERY neobvezna. NORECOVERY je v tem primeru dejansko enaka varnostni kopiji dnevnika transakcij, ki omogoča samo kopiranje.

Poškodovana varnostna kopija baze podatkov: Če je baza podatkov poškodovana, poskusite ustvariti varnostno kopijo repnega dnevnika z uporabo možnosti WITH CONTINUE_AFTER_ERROR v stavku BACKUP. V poškodovani bazi podatkov je varnostno kopiranje repnega dnevnika uspešno le, če so datoteke dnevnika nepoškodovane, če je baza podatkov v stanju, ki podpira varnostne kopije repnega dnevnika, in če ne vsebuje nobenih množično zabeleženih sprememb. Če varnostne kopije repnega dnevnika ni mogoče ustvariti, se vse transakcije, izvedene po najnovejši različici MS... SQL Server varnostne kopije baze podatkov so izgubljene.

2.4.2 Ključne možnosti za varnostne kopije dnevnika repa

Z NORECOVERY: Uporabite WITH NORECOVERY, če varnostno kopirate le del dnevnika spletne baze podatkov, ki jo nameravate pozneje obnoviti. NORECOVERY preklopi bazo podatkov v stanje brez povezave. Varnostno kopiranje lahko ustvarite tudi SQL Server dnevnik baze podatkov brez povezave. Če želite, da baza podatkov ostane brez povezave, uporabite WITH NORECOVERY. Upoštevajte, da bo dnevnik skrajšan, razen če določite možnost COPY_ONLY ali NO_TRUNCATE.

Z NADALJEVANJEM_PO_NAPAKI: Uporabite CONTINUE_AFTER_ERROR samo, če varnostno kopirate rep poškodovane baze podatkov. Ko varnostno kopirate rep dnevnika v poškodovani bazi podatkov, nekateri metapodatki, ki so običajno zajeti v varnostnih kopijah dnevnikov, morda ne bodo na voljo.

2.5 Varnostno kopiranje samo za kopiranje

Varnostne kopije samo za kopiranje ustvarijo neodvisno varnostno kopijo, ne da bi vplivale na običajno zaporedje varnostnih kopij. Ne motijo ​​verig diferencialnih varnostnih kopij ali kontinuitete dnevnika transakcij.

Uporabite varnostne kopije samo za kopiranje za:

  • Ustvarjanje testnih ali razvojnih kopij baze podatkov
  • Ad-hoc varnostne kopije brez vpliva na načrtovane varnostne kopije
  • Varnostno kopiranje pred večjimi spremembami ali testiranjem

2.6 Varnostno kopiranje datotek in skupin datotek

Varnostne kopije datotek in skupin datotek so namenjene določenim datotekam ali skupinam datotek v zbirki podatkov in ne celotnim zbirkam podatkov. Ta pristop deluje dobro za zelo velike zbirke podatkov, kjer varnostno kopiranje vsega traja predolgo.

Prednosti vključujejo:

  • Hitrejše varnostno kopiranje velikih baz podatkov
  • Vzporedno varnostno kopiranje več datotečnih skupin
  • Možnosti podrobnega obnavljanja
  • Optimizirani urniki varnostnega kopiranja za skupine datotek samo za branje

2.7 Delna varnostna kopija

Delne varnostne kopije vključujejo vse podatke v primarni datotečni skupini in vseh datotečnih skupinah z dovoljenjem za branje in pisanje, razen datotečnih skupin samo za branje. To zmanjša velikost in čas varnostne kopije za baze podatkov s statičnimi zgodovinskimi podatki, shranjenimi v datotečnih skupinah samo za branje.

3. SQL Server Modeli okrevanja

SQL Server Modeli obnovitve določajo, katere vrste varnostnih kopij so na voljo in kako se upravljajo dnevniki transakcij.

3.1 Preprost model okrevanja

3.1.1 Značilnosti in primeri uporabe

Preprosto obnovitev samodejno skrajša dnevnik transakcij po vsaki kontrolni točki in tako sprosti prostor brez potrebe po varnostnem kopiranju dnevnika.

Najboljše za:

  • Razvojne in testne podatkovne baze
  • Podatkovne baze, kjer je izguba podatkov med varnostnimi kopijami sprejemljiva
  • Podatkovna skladišča s procesi ETL, ki jih je mogoče ponovno zagnati
  • Podatkovne zbirke samo za branje ali poročanje

3.1.2 Razpoložljive možnosti varnostnega kopiranja

Preprosto okrevanje podpira:

  • Popolne varnostne kopije
  • Diferencialne varnostne kopije
  • Varnostne kopije datotek in skupin datotek
  • Varnostne kopije samo za kopiranje

Varnostne kopije dnevnika transakcij so ni na voljo v preprostem modelu okrevanja.

3.2 Model popolnega okrevanja

3.2.1 Lastnosti in prednosti

Popolna obnovitev beleži vse transakcije in ohranja zapise dnevnika, dokler jih ne varnostno kopirate. To omogoča popolno obnovitev podatkov do katerega koli trenutka v varnostni kopiji dnevnika transakcij.

Ključne prednosti:

  • Minimalna možnost izgube podatkov
  • Zmožnost obnovitve v trenutku
  • Podpira pošiljanje dnevnikov in zrcaljenje baze podatkov
  • Največja prilagodljivost pri okrevanju

3.2.2 Upravljanje dnevnika transakcij

V okviru popolne obnovitve morate redno varnostno kopirati dnevnik transakcij, da:

  • Preprečite, da bi dnevnik transakcij zapolnil prostor na disku
  • Vzdržujte neprekinjeno verigo varnostnih kopij
  • Omogoči obnovitev v trenutku
  • Nadzor rasti datoteke dnevnika

Tipičen urnik varnostnega kopiranja: popolne varnostne kopije tedensko, diferencialne varnostne kopije dnevno, varnostne kopije dnevnikov vsakih 15–30 minut.

3.3 Model obnovitve z množičnim beleženjem

3.3.1 Kdaj uporabiti množično beleženje

Obnovitev z množičnim beleženjem minimalno beleži množične operacije, kot so MNOŽIČNO VSTAVLJANJE, SELECT INTO in ponovna izgradnja indeksov, hkrati pa ohranja polno beleženje rednih transakcij.

Uporabite obnovitev z množičnim beleženjem, kadar:

  • Izvajanje velikih množičnih uvoznih operacij
  • Obnova indeksov na velikih tabelah
  • Izvajanje operacij, ki imajo koristi od minimalnega beleženja
  • Potreba po zmanjšanju velikosti dnevnika transakcij med določenimi operacijami

3.3.2 Omejitve in premisleki

Pomembne omejitve:

  • Obnovitev na določeno točko v času ni na voljo med množičnimi operacijami
  • Varnostne kopije dnevnikov so večje pri množičnih operacijah
  • Po potrebi je treba preklapljati med polnim in množičnim beleženjem

3.4 Izbira pravega modela okrevanja

Izberite model okrevanja glede na poslovne zahteve:

Model okrevanja Tveganje izgube podatkov Obnovitev v trenutku najboljše za
Enostavno Spremembe od zadnje varnostne kopije Ne Razvoj/testiranje, sprejemljiva izguba podatkov
Polna Minimalno (običajno minut) Da Produkcijske baze podatkov, kritični podatki
Množično zabeleženo Spremembe od zadnje varnostne kopije dnevnika Omejeno med množičnimi operacijami Začasna uporaba med operacijami v razsutem stanju

4. backup SQL Server Zbirka podatkov z uporabo SSMS

4.1 Predpogoji in priprava

Preden varnostno kopirate svoj SQL Server podatkovno bazo, zagotovite:

  • Imate ustrezna dovoljenja (dovoljenje db_owner ali BACKUP DATABASE)
  • Zadostno prostora na disku za varnostno kopijo datoteke
  • SQL Server Nameščen Management Studio (SSMS)
  • Omrežne poti, dostopne pri varnostnem kopiranju na omrežne lokacije

4.2 Korak za korakom: Popolna varnostna kopija s SSMS

Sledite tem korakom, da ustvarite popolno varnostno kopijo svojega SQL Server podatkovno bazo z uporabo SSMS.

4.2.1 Odpiranje SQL Server Studio za upravljanje

  1. Zagon SQL Server Studio za upravljanje
  2. Vnesite ime strežnika v Ime strežnika Polje
  3. Izberite način preverjanja pristnosti
  4. klik Connect

4.2.2 Izbira možnosti baze podatkov in varnostnega kopiranja

  1. In Raziskovalec predmetov, razširite Baze podatkov Vozel
  2. Z desno tipko miške kliknite bazo podatkov, ki jo želite varnostno kopirati
  3. Izberite Naloge -> Nazaj Up
    Začnite nalogo varnostnega kopiranja za SQL Server podatkovna baza v SQL Server Studio za upravljanje.
  4. v Varnostno kopiranje baze podatkov okno, preverite ime baze podatkov
  5. Izberite Polna kot Vrsta varnostne kopije
    Ustvarite popolno varnostno kopijo SQL Server podatkovna baza v SQL Server Studio za upravljanje.

4.2.3 Konfiguracija cilja varnostne kopije

  1. Pod destinacija, Kliknite odstrani za brisanje privzete poti (če je potrebno)
  2. klik Dodaj določiti novo lokacijo varnostne kopije
  3. Vnesite pot do datoteke in ime z .bak razširitev
  4. klik OK za potrditev cilja

Nastavite cilj varnostne kopije v SQL Server Studio za upravljanje.

4.2.4 Advanced Backup Nastavitve

  1. klik Medijske možnosti na levi plošči
  2. Izberite možnosti varnostnega kopiranja:
    • Prepiši vse obstoječe varnostne kopije – Zamenja obstoječe varnostne kopije
    • Dodaj obstoječemu naboru varnostnih kopij – Doda k obstoječi datoteki varnostne kopije

    Nastavite možnosti varnostnega kopiranja medijev v SQL Server Studio za upravljanje.

  3. klik Varnostne kopije na levi plošči
  4. Konfigurirajte neobvezne nastavitve:
    • Stisnite varnostno kopijo – Zmanjša velikost varnostne kopije datoteke
    • Šifrirajte varnostno kopijo – Ščiti občutljive podatke
    • Po končanem postopku preverite varnostno kopijo – Preveri celovitost varnostnih kopij

    Nastavite možnosti varnostnega kopiranja v SQL Server Studio za upravljanje.

4.2.5 Izvajanje varnostne kopije

  1. Preglejte vse nastavitve v Varnostno kopiranje baze podatkov okno
  2. klik OK za začetek postopka varnostnega kopiranja
  3. Počakajte, da se varnostno kopiranje zaključi
  4. Ko se varnostno kopiranje konča, se prikaže sporočilo o uspehu
  5. klik OK zapreti potrditveno pogovorno okno

4.3 Ustvarjanje diferencialne varnostne kopije s SSMS

Če želite ustvariti diferencialno varnostno kopijo, sledite istim korakom kot za popolno varnostno kopijo, vendar izberite Diferencial kot vrsto varnostne kopije v koraku 4.2.2. Ne pozabite, da diferencialne varnostne kopije zahtevajo predhodno popolno varnostno kopijo kot osnovo.

Ustvarite diferencialno varnostno kopijo SQL Server podatkovna baza v SQL Server Studio za upravljanje.

4.4 Ustvarjanje varnostne kopije dnevnika transakcij s SSMS

Varnostne kopije dnevnika transakcij so na voljo samo za baze podatkov, ki uporabljajo modele obnovitve s polnim ali množičnim beleženjem.

  1. Z desno miškino tipko kliknite zbirko podatkov v Raziskovalec predmetov
  2. Izberite Naloge -> Nazaj Up
  3. Izberite Dnevnik transakcij kot vrsta varnostne kopije
  4. Po potrebi konfigurirajte cilj in možnosti
  5. klik OK za ustvarjanje varnostne kopije dnevnika

Ustvarite varnostno kopijo dnevnika transakcij SQL Server podatkovna baza v SQL Server Studio za upravljanje.

4.5 Ustvarjanje varnostne kopije samo za kopiranje s SSMS

Varnostne kopije samo za kopiranje ne motijo ​​vašega običajnega zaporedja varnostnih kopij.

  1. Sledite korakom za ustvarjanje popolne varnostne kopije
  2. v Varnostne kopije Stran
  3. Prijava Varnostna kopija samo za kopiranje možnost
  4. Postopek varnostnega kopiranja dokončajte na običajen način

Ustvarite varnostno kopijo samo za kopiranje SQL Server podatkovna baza v SQL Server Studio za upravljanje.

5. backup SQL Server Zbirka podatkov z uporabo T-SQL

5.1 Osnovna sintaksa varnostne kopije podatkovne baze

Ukaz T-SQL BACKUP DATABASE omogoča programski nadzor nad SQL Server varnostne kopije.

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

5.2 Ukazi T-SQL za popolno varnostno kopiranje

5.2.1 Preprost skript za popolno varnostno kopiranje

Ustvarite osnovno popolno varnostno kopijo z minimalnimi možnostmi:

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

5.2.2 Popolna varnostna kopija z možnostmi

Dodajte opisne informacije in možnosti oblikovanja:

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

Pojasnjene možnosti:

  • FORMAT – Ustvari nov nabor varnostnih kopij
  • INIT – Prepiše obstoječo datoteko varnostne kopije
  • NAME – Dodeli ime varnostnega nabora
  • OPIS – Dodaja opisno besedilo
  • STATS – Prikazuje napredek vsakih 10 %

5.3 Ukazi T-SQL za diferencialno varnostno kopiranje

Diferencialne varnostne kopije uporabljajo možnost DIFFERENTIAL:

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

5.4 Ukazi T-SQL za varnostno kopiranje dnevnika transakcij

Za varnostne kopije dnevnika transakcij uporabite BACKUP DNEVNIK:

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

5.5 Napredne možnosti varnostnega kopiranja T-SQL

5.5.1 Varnostno kopiranje v več datotek

Za hitrejše delovanje porazdelite varnostno kopijo med več datotek:

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 Varnostno kopiranje s stiskanjem

Zmanjšajte velikost varnostne kopije in omrežno pasovno širino:

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

5.5.3 Varnostno kopiranje s šifriranjem

Zaščitite občutljive podatke s šifriranjem:

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 Varnostno kopiranje z zaščito z geslom

Dodajte zaščito z geslom (zastarelo, namesto tega uporabite šifriranje):

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

5.5.5 Zrcalne varnostne kopije

Ustvarite hkratne kopije na različne lokacije:

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

5.6 Primeri in skripti za varnostno kopiranje T-SQL

Celoten skript za varnostno kopiranje z obravnavo napak:

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. backup SQL Server Zbirka podatkov z uporabo PowerShella

6.1 Ukazi »Cmdlets« za varnostno kopiranje PowerShella

SQL Server Modul PowerShell ponuja ukaze »cmdlet« za avtomatizacijo varnostnega kopiranja:

  • Varnostno kopiranje SQLDatabase – Ustvarja varnostne kopije baz podatkov
  • Obnovi-SqlDatabase – Obnovi varnostne kopije baze podatkov
  • Get-SqlDatabase – Pridobi podatke iz baze podatkov

Uvozite SQL Server modul:

Import-Module SqlServer

6.2 Ustvarjanje skriptov za varnostno kopiranje s PowerShellom

Osnovni ukaz za varnostno kopiranje PowerShella:

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

Primer diferencialne varnostne kopije:

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

Varnostna kopija dnevnika transakcij:

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

6.3 Avtomatizacija varnostnih kopij s PowerShellom

Ustvarite avtomatiziran skript za varnostno kopiranje za več baz podatkov:

# 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. backup SQL Server Zbirka podatkov z uporabo ukazne vrstice

SQL Server ponuja pripomočke ukazne vrstice, ki omogočajo varnostno kopiranje SQL Server baze podatkov brez uporabe SSMS ali grafičnih vmesnikov. Ta orodja so bistvena za scenarije avtomatizacije, skriptiranja in oddaljenega upravljanja.

7.1 Uporaba varnostne kopije baze podatkov SQLCMD

SQLCMD je sodoben pripomoček ukazne vrstice za SQL Server ki je nadomestil OSQL. Ponuja izboljšano funkcionalnost in je priporočeno orodje za izvajanje ukazov T-SQL iz ukaznega poziva.

7.1.1 Osnovna sintaksa SQLCMD

sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: Določa SQL Server ime primerka
  • -d: Določa ime baze podatkov
  • -V: Izvede poizvedbo in se izklopi
  • -IN: Uporablja preverjanje pristnosti sistema Windows
  • -U: Določa SQL Server uporabniško ime za prijavo
  • -P: Določa geslo za SQL Server prijava

7.1.2 Ustvarjanje varnostne kopije s SQLCMD

Za varnostno kopiranje SQL Server Z uporabo SQLCMD sledite tem korakom:

  1. Odprto Command Prompt or PowerShell
  2. Pomaknite se na SQL Server imenik orodij (običajno dodan v PATH med namestitvijo)
  3. Izvedite ukaz za varnostno kopiranje baze podatkov SQLCMD z ustreznimi parametri
  4. Preverite, ali je bila varnostna kopija datoteke uspešno ustvarjena

Primer ukaza za popolno varnostno kopiranje z uporabo preverjanja pristnosti sistema Windows:

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

Primer uporabe SQL Server Preverjanje pristnosti:

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

Ustvarjanje diferencialne varnostne kopije s SQLCMD

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

Ustvarjanje varnostne kopije dnevnika transakcij s SQLCMD

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

7.1.3 Varnostna kopija baze podatkov založnika v SQL Server Podvajanje

Pri varnostnem kopiranju podatkovnih zbirk založnikov v SQL Server Replikacija, uporabite možnost WITH REPLICATION, da ohranite metapodatke replikacije in zagotovite skladnost transakcij.

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

Za več podrobnosti o SQL Server replikacija, glejte našo celovit vodnik.

7.2 Uporaba varnostne kopije baze podatkov OSQL

OSQL je starejši pripomoček ukazne vrstice za SQL ServerČeprav Microsoft priporoča uporabo SQLCMD, OSQL ostaja na voljo za združljivost s starejšimi skripti in sistemi.

7.2.1 Osnovna sintaksa OSQL

Sintaksa OSQL je podobna SQLCMD:

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: SQL Server ime primerka
  • -d: Ime baze podatkov
  • -V: Izvede poizvedbo in se izklopi
  • -IN: Uporablja zaupanja vredno povezavo (preverjanje pristnosti sistema Windows)
  • -U: Uporabniško ime za prijavo
  • -P: Geslo za prijavo

7.2.2 Ustvarjanje varnostne kopije z OSQL

Za izvajanje operacij varnostnega kopiranja baze podatkov OSQL:

  1. Odprto Command Prompt
  2. Preverite, ali je OSQL na voljo v vašem SQL Server namestitev
  3. Izvedite ukaz za varnostno kopiranje OSQL

Primer popolne varnostne kopije:

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

Primer diferencialne varnostne kopije:

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

8. Tretja oseba SQL Server Orodja za varnostno kopiranje

Medtem ko je SQL Server Vključuje izvorne zmogljivosti varnostnega kopiranja, orodja drugih ponudnikov pa ponujajo izboljšane funkcije, avtomatizacijo in upravljanje na ravni podjetja za organizacije s kompleksnimi zahtevami. Te rešitve zagotavljajo napredno stiskanje, centralizirano upravljanje in poenostavljene delovne procese za varnostno kopiranje. SQL Server podatkovnih baz v več okoljih.

8.1 Veeam Backup za SQL Server

Veeam ponuja celovite rešitve za zaščito podatkov, posebej zasnovane za varnostno kopiranje SQL Server podatkovne baze z minimalnim vplivom na produkcijske sisteme.

Ključne lastnosti:

  • Obdelava, ki se zaveda aplikacij za SQL Server doslednost varnostnih kopij
  • Varnostno kopiranje in upravljanje dnevnika transakcij
  • Obnovitev v trenutku z možnostmi podrobne obnovitve
  • Integracija z Veeam Backup & Replication za enotno zaščito podatkov
  • Samodejno preverjanje in potrjevanje varnostnih kopij
  • Podpora za skupine razpoložljivosti Always On
  • Raven navideznega stroja in raven aplikacije SQL Server možnosti varnostnega kopiranja

8.2 Varnostna kopija Barracuda za SQL Server

Barracuda ponuja rešitve za varnostno kopiranje, integrirane v oblak, s poenostavljenim upravljanjem za Microsoft Windows. SQL Server operacije varnostnega kopiranja baze podatkov.

Ključne lastnosti:

  • Avtomatizirano SQL Server razporejanje varnostnih kopij
  • Vgrajena replikacija v oblaku v Barracuda Cloud Storage
  • Globalna deduplikacija in kompresija
  • Zmogljivosti takojšnje lokalne obnovitve
  • Spletna konzola za upravljanje
  • Podpora za polne, diferencialne in varnostne kopije dnevnika transakcij
  • Zaščita pred izsiljevalsko programsko opremo z nespremenljivimi varnostnimi kopijami

8.3 Veritas NetBackup za SQL Server

Veritas NetBackup je platforma za varnostno kopiranje na ravni podjetja, ki zagotavlja celovito zaščito za SQL Server podatkovnih baz v kompleksnih IT okoljih.

Ključne lastnosti:

  • Upravljanje varnostnih kopij na ravni podjetja za tisoče SQL Server primerov
  • Napredni algoritmi za deduplikacijo in stiskanje
  • Prilagodljive politike in razporejanje varnostnega kopiranja
  • Podpora vsem SQL Server modeli okrevanja
  • Integracija s knjižnicami tračnih trakov in shrambo v oblaku
  • Podrobna obnova podatkovnih baz, tabel in objektov
  • Podpora za več platform (Windows, Linux) SQL Server)
  • Avtomatizirano upravljanje življenjskega cikla varnostnih kopij

8.4 Popolno varnostno kopiranje in obnovitev Commvault za SQL Server

Commvault zagotavlja inteligentno upravljanje podatkov s celovito varnostno kopijo SQL Server zmogljivosti in napredne funkcije avtomatizacije.

Ključne lastnosti:

  • Optimizacija varnostnega kopiranja in odkrivanje anomalij z umetno inteligenco
  • Enotna platforma za varnostno kopiranje, obnovitev in arhiviranje
  • Napredni paket SQL Server stiskanje varnostnih kopij (do 90 % zmanjšanje)
  • Avtomatizirana orkestracija za obnovo po katastrofi
  • Live Sync za skoraj ničelno zaščito RPO
  • Podpora za SQL Server uvedbe na lokaciji, v oblaku in hibridne uvedbe
  • IntelliSnap za varnostne kopije na podlagi posnetkov
  • Celovite zmogljivosti skladnosti s predpisi in e-odkrivanja

8.5 Kohezija DataProtect za SQL Server

Cohesity zagotavlja upravljanje podatkov naslednje generacije s hiperkonvergentno infrastrukturo za sodobno SQL Server varnostne operacije.

Ključne lastnosti:

  • Spletna arhitektura za poenostavljeno upravljanje
  • Zmogljivosti takojšnjega množičnega obnavljanja za SQL Server baze podatkov
  • Posnetki skladni z aplikacijo
  • Globalna deduplikacija v vseh varnostnih kopijah
  • Naravna integracija v oblaku (AWS, Azure, Google Cloud)
  • Vgrajene nadzorne plošče za analitiko in spremljanje
  • Zmogljivosti kloniranja in testiranja baze podatkov
  • Zaščita pred izsiljevalsko programsko opremo z nespremenljivimi posnetki

8.6 Red Gate SQL Backup Pro

Red Gate SQL Backup Pro je specializirano orodje, osredotočeno izključno na optimizacijo SQL Server operacije varnostnega kopiranja in obnavljanja z vrhunsko kompresijo in zmogljivostjo.

Ključne lastnosti:

  • Vodilni kompresijski deleži v industriji (do 95 %)
  • Odpornost omrežja za varnostno kopiranje SQL Server prek nezanesljivih povezav
  • Šifriranje varnostnih kopij z 256-bitnim AES
  • Preverjanje varnostne kopije in preverjanje integritete
  • Podrobna zgodovina varnostnih kopij in poročanje
  • Integracija z SQL Server Studio za upravljanje
  • Podpora za varnostno kopiranje na omrežne lokacije in v oblaku
  • Vzporedno varnostno kopiranje in obnavljanje za hitrejše delovanje

9. Kako obnoviti SQL Server Baze podatkov

9.1 Razumevanje postopka obnovitve

Obnavljanje a SQL Server Podatkovna baza ponovno ustvari podatkovno bazo iz varnostnih kopij datotek. Postopek obnovitve prebere datoteko varnostne kopije in rekonstruira podatkovno bazo v stanje varnostne kopije.

Pomembni premisleki:

  • Obnovitev prepiše obstoječo bazo podatkov
  • Uporabniki so med obnovitvijo prekinjeni
  • Obnovitev mora slediti zaporedju varnostnih kopij (polna, nato diferencialna, nato dnevniki)
  • Med obnovitvijo podatkovna baza ni na voljo

9.2 Obnovitev celotne varnostne kopije z uporabo SSMS

Za obnovitev celotne varnostne kopije baze podatkov sledite tem korakom.

9.2.1 Postopek obnovitve po korakih

  1. Odprto SQL Server Studio za upravljanje in se povežite s svojim strežnikom
  2. In Raziskovalec predmetov, desni klik Baze podatkov
  3. Izberite Obnovi bazo podatkov
  4. v LED vir svetlobe izberite, izberite Device
  5. Kliknite ... gumb za brskanje po varnostnih kopijah datotek
  6. klik Dodaj in poiščite svojo datoteko .bak
  7. Izberite datoteko varnostne kopije in kliknite OK
  8. v destinacija v razdelek vnesite ime baze podatkov
  9. Preglejte varnostne kopije za obnovitev
  10. klik OK za začetek obnovitve

9.2.2 Možnosti in nastavitve obnovitve

klik možnosti v levi plošči za konfiguracijo:

  • Prepiši obstoječo bazo podatkov (Z ZAMENJAVO) – Omogoča obnovitev obstoječe baze podatkov
  • Ohrani stanje replikacije (Z KEEP_REPLICATION) – Obdrži SQL Server replikacija so bili
  • Omeji dostop do obnovljene baze podatkov (Z OMEJENIM_UPORABNIKOM) – Omejuje dostop po obnovi
  • Stanje okrevanja – Izberite med OBNOVITEV Z OBNOVITVIJO ali OBNOVITEV Z NEPOSREDNO OBNOVITVIJO

9.3 Obnovitev diferencialne varnostne kopije

Diferencialna obnova zahteva tako popolne kot diferencialne varnostne kopije:

  1. Najprej obnovite celotno varnostno kopijo z NI OKREVANJA možnost
  2. Nato obnovite diferencialno varnostno kopijo z OKREVANJE možnost

Primer 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 Obnovitev z varnostnimi kopijami dnevnika transakcij

Za obnovitev v določenem trenutku obnovite v naslednjem zaporedju:

  1. Obnovite celotno varnostno kopijo z NORECOVERY
  2. Obnovi diferencialno varnostno kopijo z ukazom NORECOVERY (če je na voljo)
  3. Obnovite varnostne kopije dnevnika transakcij po vrstnem redu z NORECOVERY
  4. Obnovite končno varnostno kopijo dnevnika z 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 Obnovitev na določeno točko v času

Obnovite bazo podatkov na določeno časovno točko z uporabo možnosti 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 Obnovitev tabele

SQL Server ne podpira neposredne obnovitve na ravni tabele iz varnostnih kopij datotek. Vendar pa še vedno obstajajo nekatere rešitve.

9.6.1 Metoda 1: Posnetki podatkovne baze (najboljše za preprečevanje)

Posnetki podatkovne baze omogočajo najhitrejši način za obnovitev podatkov tabele, če so ustvarjeni, preden se težava pojavi. Posnetek je statični pogled podatkovne baze, ki je samo za branje v določenem trenutku.

Ustvarjanje posnetka baze podatkov:

-- 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

Obnavljanje podatkov tabele iz posnetka:

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

Zahteve različice: Posnetki podatkovne baze so na voljo v SQL Server Enterprise Edition (vse različice) in Standard Edition, začenši z SQL Server SP1 iz leta 2016.

9.6.2 2. način: Obnovitev v začasno zbirko podatkov (najpogostejša)

Ta metoda deluje, ko morate obnoviti podatke tabele, potem ko se pojavi težava in posnetek ne obstaja:

  1. Obnovitev varnostne kopije v začasno bazo podatkov
  2. Kopiranje podatkov tabele iz začasne baze podatkov v trenutno bazo podatkov

9.7 Obnovitev strani

Obnovitev strani obnovi posamezne poškodovane strani, ne da bi obnovila celotno zbirko podatkov, s čimer zmanjša čas izpada, saj cilja le na poškodovane strani. Ta funkcija je na voljo samo v modelih obnovitve s polnim ali množičnim beleženjem in zahteva neprekinjeno verigo varnostnih kopij dnevnika transakcij od varnostne kopije strani do trenutne datoteke dnevnika.

Za obnovitev strani najprej poiščite poškodovane strani, naredite varnostno kopijo dnevnika transakcij, obnovite določene strani in nato uporabite vse dnevnike transakcij:

-- 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

Opomba: Obnovitev strani ni na voljo v modelu preproste obnovitve. Strani ni mogoče obnoviti iz sistemskih tabel ali metapodatkov primarnih datotečnih skupin.

9.8 Postopna obnova

Delna obnovitev (delna obnovitev) obnovi bazo podatkov v fazah na ravni datotečne skupine, začenši s primarno datotečno skupino. S tem se kritični podatki takoj vzpostavijo splet, medtem ko se manj kritični podatki obnovijo v ozadju. V preprostem modelu obnovitve je treba vse datotečne skupine za branje in pisanje obnoviti skupaj s primarno datotečno skupino; ločeno je mogoče obnoviti le datotečne skupine samo za branje. V modelih obnovitve s polnim ali množičnim beleženjem je mogoče vsako datotečno skupino vzpostaviti splet neodvisno po uporabi dnevnikov transakcij.

Model okrevanja Vedenje po delih pri obnovi
Enostavno Primarna in vse skupine datotek za branje in pisanje so bile obnovljene skupaj. Skupine datotek samo za branje so bile obnovljene ločeno.
Polno/množično zabeleženo Vsaka skupina datotek je bila obnovljena neodvisno na ravni skupine datotek.

Primer modela popolne obnovitve – najprej obnovite primarno skupino datotek, da vzpostavite povezavo z bazo podatkov, nato pa obnovite sekundarne skupine datotek, medtem ko baza podatkov še vedno deluje:

-- 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

Primer preprostega modela okrevanja:

-- 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 Obnavljanje z uporabo ukazov T-SQL

Celoten skript za obnovitev s premestitvijo datotek:

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 Preverjanje celovitosti varnostne kopije pred obnovitvijo

Preveri veljavnost varnostne kopije brez obnovitve:

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

Ta ukaz preveri, ali je varnostna kopija popolna in berljiva, ne da bi dejansko obnovil bazo podatkov.

10. SQL Server Najboljše prakse varnostnega kopiranja

10.1 Razvoj strategije varnostnega kopiranja

10.1.1 Ocenjevanje poslovnih zahtev

Preden izvedete varnostne kopije, ocenite:

  • Kritičnost podatkov: Kako pomembni so ti podatki za poslovanje?
  • Sprememba frekvence: Kako pogosto se podatki spreminjajo?
  • Velikost baze podatkov: Kako velika je baza podatkov?
  • Razpoložljivi viri: Kakšen prostor za shranjevanje in pasovna širina sta na voljo?
  • Zahteve glede skladnosti: Katere predpise morate upoštevati?

10.1.2 Definiranje RTO in RPO

Ciljni čas okrevanja (RTO): Najdaljši sprejemljiv čas izpada. Določa, kako hitro morate obnoviti delovanje.

Ciljna točka obnovitve (RPO): Največja sprejemljiva izguba podatkov. Določa pogostost varnostnega kopiranja.

Zahteva RTO/RPO Priporočena strategija varnostnega kopiranja
RPO: Ure, RTO: Ure Dnevno polno + dnevnik transakcij vsake 1-2 uri
RPO: Minute, RTO: Ure Dnevne polne varnostne kopije + varnostne kopije dnevnikov vsakih 15–30 minut
RPO: Skoraj nič, RTO: Minute Skupine razpoložljivosti Always On + pogoste varnostne kopije dnevnikov
RPO: Dni, RTO: Dni Tedenski polni + dnevni diferencial

10.2 Ustvarjanje razporeda varnostnega kopiranja

10.2.1 Priporočila glede frekvence

Tipičen urnik varnostnega kopiranja za produkcijske baze podatkov:

  • Popolne varnostne kopije: Tedensko (ob nedeljah zvečer med nizko aktivnostjo)
  • Diferencialne varnostne kopije: Vsak dan (vsako noč)
  • Varnostne kopije dnevnika transakcij: Vsakih 15–30 minut med delovnim časom
  • Varnostne kopije samo za kopiranje: Po potrebi za testiranje ali razvoj

10.2.2 Uravnoteženje zmogljivosti in zaščite

Pri načrtovanju upoštevajte te dejavnike:

  • Izven konic: Izvajanje popolnih varnostnih kopij v obdobjih nizke aktivnosti
  • Vpliv virov: Stiskanje zmanjša V/I, vendar poveča porabo CPE-ja
  • Pasovna širina omrežja: Načrtujte varnostne kopije omrežja, ko je promet nizek
  • Okna za varnostno kopiranje: Zagotovite, da so varnostne kopije dokončane pred delovnim časom

10.3 Najboljše prakse shranjevanja varnostnih kopij

10.3.1 Skladiščenje na lokaciji v primerjavi s skladiščenjem zunaj lokacije

Varnostne kopije na lokaciji:

  • Hitrejše varnostno kopiranje in obnovitev
  • Nižji stroški za visokofrekvenčni dostop
  • Ranljiv za lokalne nesreče
  • Najboljše za scenarije hitrega okrevanja

Varnostne kopije zunaj spletnega mesta:

  • Zaščita pred nesrečami na lokaciji
  • Skladnost z zahtevami glede geografske redundance
  • Počasnejši časi obnovitve
  • Bistveno za okrevanje po nesreči

10.3.2 Možnosti varnostnega kopiranja v oblaku

Prednosti shranjevanja v oblaku:

  • Azure Blob Storage: Materni SQL Server integracija, stroškovno učinkovita za redek dostop
  • Amazon S3: Zelo trpežne, prilagodljive shranjevalne ravni
  • Google Cloud Storage: Konkurenčne cene, globalna dostopnost

10.3.3 Pravilniki o hranjenju varnostnih kopij

Politika hrambe vzorcev:

  • Hranite dnevne varnostne kopije 7 dni
  • Tedenske varnostne kopije hranite 4 tedne
  • Mesečne varnostne kopije hranite 12 mesecev
  • Hranite letne varnostne kopije 7 let (skladnost)

10.4 Stiskanje in šifriranje varnostnih kopij

Prednosti kompresije:

  • Zmanjša velikost varnostne kopije za 50–70 %
  • Zmanjša čas varnostnega kopiranja
  • Znižuje stroške skladiščenja
  • Zmanjša pasovno širino omrežja za oddaljene varnostne kopije

Najboljše prakse šifriranja:

  • Vedno šifrirajte varnostne kopije, ki vsebujejo občutljive podatke
  • Uporabite 256-bitno šifriranje AES
  • Varno upravljanje potrdil ali ključev
  • Dokumentirajte šifrirne ključe in jih shranite ločeno

10.5 Testiranje in preverjanje varnostnih kopij

10.5.1 Redno testiranje obnovitve

Postopki testiranja obnovitve četrtletno ali mesečno:

  1. Obnovitev varnostnih kopij v testno okolje
  2. Preverite celovitost in popolnost podatkov
  3. Preverite funkcionalnost aplikacije
  4. Čas obnovitve dokumenta (preverjanje RTO)
  5. Prepoznajte in rešite morebitne težave

10.5.2 Uporaba možnosti RESTORE VERIFYONLY

Avtomatizirajte preverjanje varnostnih kopij:

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

Preverjanje zaženite takoj po dokončanju varnostnega kopiranja ali kot del načrtovanega vzdrževanja.

10.6 Avtomatizacija in spremljanje varnostnih kopij

10.6.1 SQL Server Zaposlitve agentov

Ustvarite avtomatizirana varnostna opravila:

  1. Razširi SQL Server AgentZunanja povezava v SSMS-u
  2. Z desno tipko miške kliknite Delovna mesta in izberite New Job
  3. Poimenujte opravilo (npr. »Dnevna popolna varnostna kopija«)
  4. Dodaj Korak z ukazi za varnostno kopiranje T-SQL
  5. Ustvarite Urnik za čas izvedbe
  6. Konfiguracija Obvestila za uspeh/neuspeh

10.6.2 Načrti vzdrževanja

SQL Server Načrti vzdrževanja zagotavljajo vizualni vmesnik za avtomatizacijo varnostnega kopiranja:

  1. Pomaknite se na upravljanje -> Načrti vzdrževanja
  2. Z desno tipko miške kliknite in izberite Čarovnik za načrt vzdrževanja
  3. Izberite naloge varnostnega kopiranja za avtomatizacijo
  4. Konfigurirajte urnik in možnosti varnostnega kopiranja
  5. Nastavitev poročanja in beleženja

10.6.3 Opozorila in obvestila o varnostnih kopijah

Konfigurirajte e-poštna obvestila:

  • Nastavitev pošte baze podatkov v SQL Server
  • Ustvarjanje opozoril za napake varnostnega kopiranja
  • Spremljanje zgodovine varnostnih kopij
  • Pošljite povzetke poročil skrbnikom

10.7 Dokumentacija in načrtovanje okrevanja po nesreči

Vodite celovito dokumentacijo:

  • Razpored varnostnega kopiranja: Kdaj in kaj se varnostno kopira
  • Pravilniki o hrambi: Kako dolgo se hranijo varnostne kopije
  • Lokacije shranjevanja: Kje so shranjene varnostne kopije
  • Postopki obnovitve: Navodila za obnovitev po korakih
  • Kontaktni podatki: Ključno osebje in prodajalci
  • Rezultati testa okrevanja: Dokumentirani rezultati testov

11. Napredno SQL Server Scenariji varnostnega kopiranja

11.1 Varnostno kopiranje zelo velikih baz podatkov (VLDB)

11.1.1 Strategije za datoteke in skupine datotek

Za baze podatkov, ki presegajo nekaj sto gigabajtov:

  • Ločite podatke samo za branje in podatke samo za branje in pisanje v različne skupine datotek
  • Redko varnostno kopirajte skupine datotek samo za branje
  • Osredotočite se na pogoste varnostne kopije aktivnih datotečnih skupin
  • Za natančen nadzor uporabite varnostne kopije na ravni datotek

Primer varnostne kopije datoteke:

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

11.1.2 Optimizacija delovanja varnostnih kopij

Izboljšajte delovanje varnostnega kopiranja VLDB:

  • Črtaste varnostne kopije: Pisanje v več datotek hkrati
  • Compression: Zmanjšajte zahteve glede V/I in shranjevanja
  • Več rezervnih naprav: Vzporedno izvajanje operacij varnostnega kopiranja
  • Hitro shranjevanje: Uporaba SSD-jev za varnostno kopiranje
  • Število medpomnilnikov: Možnost povečanja BUFFERCOUNT
  • Največja velikost prenosa: Optimizirajte nastavitev 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 Varnostno kopiranje v skupinah razpoložljivosti Always On

Skupine razpoložljivosti Always On porazdelijo obremenitev varnostnih kopij med replikami:

  • Konfigurirajte nastavitve varnostnega kopiranja (primarno, sekundarno ali katero koli repliko)
  • Prenesite varnostne kopije na sekundarne replike, da zmanjšate primarno delovno obremenitev
  • Uporabite varnostne kopije COPY_ONLY na sekundarnih replikah
  • Spremljajte nastavitve prioritete varnostnega kopiranja
-- 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 Varnostno kopiranje za zrcaljenje baze podatkov

V scenarijih zrcaljenja baze podatkov:

  • Redno varnostno kopirajte glavno bazo podatkov
  • Varnostne kopije dnevnika transakcij so bistvene za zrcaljenje
  • Zrcalna baza podatkov je v stanju OBNAVLJANJA (neposredne varnostne kopije ni mogoče ustvariti)
  • Razmislite o varnostnem kopiranju zrcala po preklopu na drugo napravo

11.4 Varnostno kopiranje v shrambo Azure Blob Storage

SQL Server lahko varnostno kopirate neposredno v shrambo Azure Blob Storage:

  1. Ustvarite račun za shranjevanje Azure
  2. ustvarjanje SQL Server poverilnice za preverjanje pristnosti Azure
  3. Za cilj varnostne kopije uporabite sintakso URL-ja
-- 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 Varnostno kopiranje na URL

Prednosti varnostnega kopiranja na URL:

  • Neomejena zmogljivost shranjevanja v oblaku
  • Samodejno obravnano geografsko redundantnost
  • Cenovni model plačila po uporabi
  • Ni potreben lokalni prostor na disku
  • Podpira do 64 URL-jev na varnostno kopijo (striping)

11.6 Črtaste varnostne kopije za večjo zmogljivost

Črtaste varnostne kopije razdelijo podatke med več datotek za hitrejši vhodno/izhodni postopek:

-- 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

Opomba: Za obnovitev so potrebne vse datoteke Stripe. Če katera koli datoteka manjka, je varnostna kopija neuporabna.

12. Odpravljanje težav SQL Server Težave z varnostnim kopiranjem

12.1 Pogoste napake pri varnostnem kopiranju in rešitve

Napaka: »Napaka operacijskega sistema 5: Dostop zavrnjen«

  • Vzrok: SQL Server račun storitve nima dovoljenj
  • rešitev: Dodeli dovoljenja za pisanje SQL Server račun storitve v mapi z varnostnimi kopijami

Napaka: »Varnostne kopije naprave ni mogoče odpreti ... Napaka naprave ali naprava ni v spletu«

  • Vzrok: Neveljavna pot ali nedostopna omrežna skupna raba
  • rešitev: Preverite obstoj poti, preverite omrežno povezljivost in zagotovite dovolj prostora na disku

Napaka: »Na disku ni dovolj prostora«

  • Vzrok: Premalo prostora na disku za varnostno kopiranje
  • rešitev: Sprostite prostor na disku, uporabite stiskanje, varnostno kopirajte na drugo lokacijo

Napaka: »Zbirka podatkov je v uporabi. Zbirko podatkov uporabljajo drugi uporabniki.«

  • Vzrok: Aktivne povezave med obnovitvijo
  • rešitev: Uporabite možnost WITH REPLACE ali najprej odklopite uporabnike

12.2 Težave z zmogljivostjo varnostnega kopiranja

Diagnosticiranje počasnih varnostnih kopij:

  • Preverite delovanje V/I diska z uporabo Performance Monitor
  • Spremljajte napredek varnostnega kopiranja z možnostjo STATS
  • pregled SQL Server dnevnik napak za ozka grla
  • Razmislite o stiskanju za zmanjšanje V/I
  • Uporaba črtastih varnostnih kopij na več diskih

Poizvedba za spremljanje napredka varnostnega kopiranja:

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 Težave s prostorom in shranjevanjem

Preprečite težave s shranjevanjem:

  • Izvajanje politik hrambe podatkov: Samodejno brisanje starih varnostnih kopij
  • Uporabi stiskanje: Zmanjšajte velikost varnostne kopije za 50–70 %
  • Arhivirajte v cenejše shranjevanje: Premaknite stare varnostne kopije v arhivsko shrambo
  • Spremljajte prostor na disku: Nastavite opozorila za malo prostora na disku
  • Ocenjena velikost varnostne kopije: Pred varnostnim kopiranjem izračunajte pričakovano velikost

Ocenjena velikost varnostne kopije:

-- Estimate full backup size
EXEC sp_spaceused;
GO

12.4 Težave z dovoljenji in dostopom

Zahtevana dovoljenja za varnostne kopije:

  • VARNOSTNA KOPIJA ZBIRKE PODATKOV Dovoljenje
  • db_backupoperator članstvo v vlogah
  • sistemski administrator vloga strežnika (za vse operacije varnostnega kopiranja)

Dodeli dovoljenja za varnostno kopiranje:

-- 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 Poškodovane varnostne kopije datotek

Zaznavanje in obravnavanje poškodovanih varnostnih kopij:

Preverite celovitost varnostne kopije:

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

Omogočite CHECKSUM za prihodnje varnostne kopije:

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

Strategije preprečevanja:

  • Med varnostnim kopiranjem vedno uporabite možnost CHECKSUM
  • Preverite varnostne kopije takoj po ustvarjanju
  • Redno testiranje obnovitev
  • Shranjevanje varnostnih kopij na zanesljivem mestu za shranjevanje
  • Vzdržujte več varnostnih kopij

12.6 Obnovitev podatkov iz poškodovanih varnostnih kopij

Če so vaše varnostne kopije poškodovane in želite vseeno obnoviti podatke iz njih, lahko uporabite orodja drugih ponudnikov, kot so DataNumen SQL Recovery, kot spodaj:

  1. Začetek DataNumen SQL Recovery.
  2. Izberite poškodovano datoteko varnostne kopije kot izvorno datoteko tako, da filter spremenite v »Vse datoteke (*.*)«:
    Kot izvorno datoteko, ki jo želite obnoviti, izberite poškodovano datoteko varnostne kopije (*.bak).
  3. Po potrebi nastavite izhodno datoteko .MDF.
  4. Kliknite »Začni obnovitev« in sledite navodilom za obnovitev baze podatkov.
  5. Po postopku obnovitve se bo v SQL Server ki vsebuje vse obnovljene podatke.

Uporaba DataNumen SQL Recovery za obnovitev podatkov iz poškodovanih SQL Server varnostno kopijo datoteke (*.bak).

13. SQL Server Varnost varnostnih kopij

13.1 Zaščita varnostnih kopij datotek

Zaščitite varnostne kopije datotek pred nepooblaščenim dostopom:

  • Dovoljenja datotečnega sistema: Omeji dostop samo na pooblaščene skrbnike
  • Varnost omrežja: Za varnostne kopije omrežja uporabite varne protokole
  • Fizično varovanje: Varnostne kopije medijev shranjujte na varnih mestih
  • Beleženje dostopa: Dostop do varnostnih kopij datotek za revizijo

13.2 Možnosti šifriranja

SQL Server podpira transparentno šifriranje varnostnih kopij:

Ustvari potrdilo za šifriranje:

-- 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

Šifrirana varnostna kopija:

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

Pomembno: Potrdilo in zasebni ključ varnostno kopirajte ločeno. Brez njiju šifriranih varnostnih kopij ni mogoče obnoviti.

-- 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 Nadzor dostopa in dovoljenja

Izvedite načelo najmanjših privilegijev:

  • Dovoljenja za varnostno kopiranje dodelite samo potrebnim računom
  • Za varnostno kopiranje in obnovitev uporabite ločene račune
  • Izogibajte se uporabi računa SA za varnostne kopije
  • Redno pregledujte dovoljenja za varnostno kopiranje
  • Odstranite dovoljenja, ko jih ne potrebujete več

13.4 Premisleki glede skladnosti

Obravnavajte regulativne zahteve:

  • GDPR: Šifrirajte varnostne kopije, ki vsebujejo osebne podatke, in izvajajte pravilnike o hranjenju
  • HIPAA: Šifrirajte zaščitene zdravstvene podatke v varnostnih kopijah, nadzorujte dostop, vzdržujte revizijske sledi
  • PCI DSS: Šifriranje varnostnih kopij podatkov imetnikov kartic, varno shranjevanje varnostnih kopij
  • SOX: Vzdrževanje integritete varnostnih kopij, pravilniki o hranjenju dokumentov

14. Spremljanje in vzdrževanje operacij varnostnega kopiranja

14.1 Sledenje zgodovini varnostnih kopij

SQL Server shrani zgodovino varnostnih kopij v zbirko podatkov 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

Poiščite baze podatkov brez nedavnih varnostnih kopij:

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 Uporaba SQL Server Poročila

SQL Server Management Studio vključuje vgrajena poročila o varnostnih kopijah:

  1. Z desno miškino tipko kliknite na zbirko podatkov v Raziskovalcu objektov
  2. Izberite Poročila -> Standardna poročila
  3. Izberite med razpoložljivimi poročili:
    • Dogodki varnostnega kopiranja in obnovitve
    • Vse varnostne kopije
    • Stanje pošiljanja dnevnika transakcij

14.3 Orodja za spremljanje tretjih oseb

Rešitve za komercialni nadzor:

  • SQL Sentry: Celovito spremljanje in opozarjanje
  • Redgate SQL Monitor: Nadzor in diagnostika v realnem času
  • Analizator zmogljivosti baze podatkov SolarWinds: Spremljanje delovanja in varnostnega kopiranja
  • Upravitelj diagnostike SQL v Ideri: Preverjanje in opozarjanje varnostnih kopij

14.4 Preverjanje stanja varnostnih kopij

Ustvarite postopek za pregled zdravja:

-- 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 Pogosta vprašanja o varnostnem kopiranju

15.1 Kako pogosto naj varnostno kopiram SQL Server?

Pogostost varnostnega kopiranja je odvisna od vašega cilja točke obnovitve (RPO):

  • Kritične produkcijske baze podatkov: Cel tedensko, diferencialno dnevno, beleženje vsakih 15–30 minut
  • Standardne produkcijske baze podatkov: Cel tedensko, diferencialno dnevno, beleženje vsaki 1-2 uri
  • Razvojne baze podatkov: Polni dnevni ali tedenski
  • Podatkovne baze samo za branje: Polno po vsaki spremembi podatkov

15.2 Kakšna je razlika med polno in diferencialno varnostno kopijo?

Popolna varnostna kopija kopira celotno bazo podatkov, medtem ko diferencialna varnostna kopija zajame le spremembe od zadnje popolne varnostne kopije. Diferencialne varnostne kopije so manjše in hitrejše, vendar za obnovitev zahtevajo osnovno popolno varnostno kopijo.

15.3 Ali lahko varnostno kopiram SQL Server Medtem ko teče?

Da, SQL Server podpira spletno varnostno kopiranje. Uporabniki lahko med varnostnim kopiranjem nadaljujejo z delom. SQL Server uporablja dnevnik transakcij za ohranjanje doslednosti in zagotavlja, da so varnostne kopije veljavne tudi ob sočasnih spremembah.

15.4 Kako dolgo traja SQL Server Rezervni posnetek?

Trajanje varnostnega kopiranja se razlikuje glede na:

  • Velikost baze podatkov: Večje baze podatkov trajajo dlje
  • Vrsta varnostne kopije: Popolne varnostne kopije trajajo najdlje
  • Compression: Lahko poveča čas procesorja, vendar skrajša skupno trajanje
  • Hitrost shranjevanja: SSD-ji so bistveno hitrejši od trdih diskov
  • Obremenitev strežnika: Večja aktivnost upočasni varnostne kopije

Tipični obsegi: Za popolno varnostno kopiranje 10 GB baze podatkov s stiskanjem na sodobni strojni opremi lahko potrebujemo 5–15 minut.

15.5 Kje naj shranjujem SQL Server Varnostne kopije?

Najboljša praksa: Upoštevajte pravilo 3-2-1:

  • 3 kopije vaših podatkov
  • 2 različne vrste shranjevanja (npr. disk in trak/oblak)
  • 1 kopiranje zunanjosti

Priporočene lokacije:

  • Lokalni disk za hitro obnovitev
  • Omrežno shranjevanje za centralizirano upravljanje
  • Shramba v oblaku (Azure, AWS) za obnovo po katastrofi

15.6 Kaj je končnica datoteke .bak?

Privzeta pripona datoteke za .bak je SQL Server varnostne kopije datotek. To je konvencija, ne zahteva – SQL Server Varnostne kopije delujejo s katero koli končnico datotek. Vendar pa uporaba končnice .bak omogoča enostavno prepoznavanje varnostnih kopij in je standardna praksa v industriji.

15.7 Kako narediti varnostno kopijo SQL Server na omrežni pogon?

Za varnostno kopiranje na omrežni pogon:

  1. Zagotoviti SQL Server račun storitve ima dovoljenja za pisanje v omrežni skupni rabi
  2. Uporabite pot UNC v ukazu za varnostno kopiranje: \\ServerName\ShareName\BackupFile.bak
  3. Pred načrtovanjem samodejnih varnostnih kopij preizkusite povezljivost
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO

15.8 Ali lahko stisnem SQL Server Varnostne kopije?

Da, SQL Server podpira izvorno stiskanje varnostnih kopij (Enterprise Edition ali Standard Edition od SQL Server 2016 SP1). Stiskanje običajno zmanjša velikost varnostne kopije za 50–70 % in pogosto skrajša čas varnostnega kopiranja z zmanjšanjem V/I, čeprav poveča porabo procesorja.

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

16. Zaključek

16.1 ključnih zajtrkov

Učinkovito SQL Server Strategije varnostnega kopiranja ščitijo vaše podatke in zagotavljajo neprekinjeno poslovanje. Ne pozabite na te bistvene točke:

  • Razumevanje vrst varnostnih kopij: Izberite ustrezne vrste varnostnih kopij (popolne, diferencialne, dnevnika transakcij) glede na vaše zahteve glede obnovitve
  • Izberite ustrezen model obnovitve: Popolna obnova kritičnih podatkov, preprosta za razvojne baze podatkov
  • Izvedite urnik varnostnega kopiranja: Redne popolne varnostne kopije v kombinaciji z diferencialnimi in dnevniškimi varnostnimi kopijami zmanjšujejo izgubo podatkov
  • Postopki obnovitve testa: Varnostne kopije so dragocene le, če jih je mogoče uspešno obnoviti
  • Avtomatizirajte in spremljajte: Uporaba SQL Server Agent, načrti vzdrževanja in orodja za spremljanje
  • Varne varnostne kopije: Šifrirajte občutljive podatke in nadzorujte dostop do varnostnih kopij datotek
  • Shranjevanje kopij zunaj spletnega mesta: Zaščitite se pred katastrofami na celotnem spletnem mestu z oblačnim ali oddaljenim shranjevanjem
  • Vse dokumentirajte: Vzdržujte jasno dokumentacijo postopkov varnostnega kopiranja in obnovitve

16.2 Naslednji koraki in viri

Za izboljšanje svojega SQL Server implementacija varnostnega kopiranja:

  • Ocenite svojo trenutno strategijo varnostnega kopiranja glede na najboljše prakse
  • Izračunajte svoje zahteve glede RTO in RPO
  • Preizkusite postopke obnovitve na neprodukcijskih sistemih
  • Redno pregledujte in posodabljajte urnike varnostnega kopiranja
  • Izvedite avtomatizirano spremljanje in opozarjanje
  • Usposabljanje članov ekipe za postopke obnovitve

Dodatni viri:

  • Microsoft SQL Server Dokumentacija: Uradna navodila za varnostno kopiranje in obnovitev
  • SQL Server forumi skupnosti za varnostno kopiranje: delite izkušnje in rešitve
  • Strokovni certifikati: Microsoft Certified: Azure Database Administrator Associate

16.3 Priporočena orodja in rešitve

Na podlagi različnih scenarijev:

Mala podjetja:

  • Materni SQL Server varnostno kopiranje z načrtovanim SQL Server Zaposlitve agentov
  • SQLBackupAndFTP za integracijo v oblaku
  • Azure Backup za SQL Server

Srednja podjetja:

  • SQL Server Načrti vzdrževanja
  • Orodja drugih ponudnikov, kot je Redgate SQL Backup Pro
  • Veeam varnostno kopiranje za SQL Server

Velika podjetja:

  • Quest LiteSpeed ​​za maksimalno kompresijo
  • Commvault ali Veritas NetBackup za upravljanje varnostnih kopij v podjetju
  • Skupine razpoložljivosti Always On za visoko razpoložljivost

SQL Server Varnostno kopiranje je bistvenega pomena za upravljanje baz podatkov. Z ustreznim načrtovanjem, izvedbo in testiranjem lahko zagotovite, da vaši podatki ostanejo zaščiteni in obnovljivi, ko jih bo to potrebno. Začnite izvajati te najboljše prakse še danes, da zaščitite svoje podatke. SQL Server podatkovnih baz.


O Author

Yuan Sheng je višji administrator baz podatkov (DBA) z več kot 10 leti izkušenj na področju SQL Server okolja in upravljanje poslovnih baz podatkov. Uspešno je rešil na stotine scenarijev obnovitve baz podatkov v finančnih storitvah, zdravstvu in proizvodnih organizacijah.

Yuan je specializiran za SQL Server obnovitev baz podatkov, rešitve za visoko razpoložljivost in optimizacija delovanja. Njegove bogate praktične izkušnje vključujejo upravljanje večterabajtnih baz podatkov, implementacijo skupin razpoložljivosti Always On in razvoj avtomatiziranih strategij varnostnega kopiranja in obnovitve za ključne poslovne sisteme.

Yuan se s svojim tehničnim znanjem in praktičnim pristopom osredotoča na ustvarjanje celovitih vodnikov, ki pomagajo skrbnikom baz podatkov in IT-strokovnjakom reševati kompleksne SQL Server učinkovito se spopada z izzivi. Vedno je na tekočem z najnovejšimi SQL Server izdaje in Microsoftove razvijajoče se tehnologije baz podatkov, pri čemer redno testira scenarije obnovitve, da zagotovi, da njegova priporočila odražajo najboljše prakse iz resničnega sveta.

Imate vprašanja o SQL Server obnovitev ali potrebujete dodatna navodila za odpravljanje težav z zbirko podatkov? Yuan pozdravlja povratne informacije in predlogi za izboljšanje teh tehničnih virov.

Skupna raba zdaj: