Podijeli sada:
Pregled sadržaja sakriti

rezerva SQL Server baza podataka s našim cjelovitim vodičem za 2025. godinu. Detaljne upute i najbolje prakse za sve razine vještina.

1. Uvod u SQL Server rezerva

1.1 Što je SQL Server Sigurnosna kopija?

SQL Server Sigurnosna kopija je proces stvaranja kopija datoteka vaše baze podataka radi zaštite od gubitka podataka. Sigurnosna kopija bilježi stanje vaše baze podataka u određenom trenutku, omogućujući vam vraćanje podataka ako dođe do kvarova hardvera, ljudskih pogrešaka ili katastrofa.

SQL Server prema zadanim postavkama pohranjuje sigurnosne kopije u .bak datoteke, koje sadrže sve objekte baze podataka, uključujući tablice, pohranjene procedure, prikaze, indekse i zapisnike transakcija.

1.2 Zašto SQL Server Sigurnosna kopija je ključna

Sigurnosne kopije baza podataka služe kao vaša posljednja linija obrane od gubitka podataka. Bez odgovarajućih sigurnosnih kopija, vaša organizacija riskira:

  • Trajni gubitak podataka od kvarova ili oštećenja hardvera
  • Produljeno vrijeme zastoja tijekom pokušaja oporavka
  • Poremećaj poslovanja i gubitak prihoda
  • Kršenja usklađenosti ako se podaci ne mogu oporaviti
  • Oštećenje ugleda od prekida usluge

redovan SQL Server Sigurnosne kopije osiguravaju kontinuitet poslovanja i ispunjavaju regulatorne zahtjeve za zaštitu podataka.

1.3 Uobičajeni scenariji gubitka podataka

Razumijevanje kada dolazi do gubitka podataka pomaže vam da razvijete učinkovitu strategiju sigurnosnog kopiranja:

  • Kvarovi hardvera: Padovi diska, kvarovi poslužitelja ili kvarovi sustava za pohranu
  • Ljudske pogreške: Slučajna brisanja, netočna ažuriranja ili izostavljene tablice
  • Problemi sa softverom: Greške u aplikacijama, oštećena ažuriranja ili pad sustava
  • Sigurnosne povrede: Napadi ransomwarea, zlonamjerna brisanja ili neovlašteni pristup
  • Prirodne katastrofe: Požari, poplave ili nestanci struje koji utječu na podatkovne centre

2. Razumijevanje SQL Server Vrste sigurnosnih kopija

SQL Server podržava više vrsta sigurnosnih kopija, od kojih svaka zadovoljava različite potrebe oporavka i zahtjeve za pohranu.

2.1 Potpuna sigurnosna kopija

Potpuna sigurnosna kopija stvara potpunu kopiju cijele baze podataka, uključujući sve podatkovne datoteke i dio dnevnika transakcija potrebnih za oporavak.

2.1.1 Kada koristiti potpunu sigurnosnu kopiju

Potpune sigurnosne kopije idealne su za:

  • Uspostavljanje osnovne linije za ostale vrste sigurnosnih kopija
  • Male do srednje baze podataka gdje je vrijeme izrade sigurnosnih kopija prihvatljivo
  • Tjedni ili mjesečni rasporedi sigurnosnih kopija
  • Baze podataka s rijetkim promjenama

2.1.2 Prednosti i ograničenja potpune sigurnosne kopije

Prednosti:

  • Najjednostavniji postupak vraćanja – jedna datoteka sadrži sve
  • Samostalno i neovisno o drugim sigurnosnim kopijama
  • Najbrže vrijeme oporavka za potpunu obnovu baze podataka

Ograničenja:

  • Zahtijeva značajan prostor za pohranu
  • Dulje vrijeme sigurnosne kopije za velike baze podataka
  • Veća potrošnja resursa tijekom operacija sigurnosne kopije

2.2 Diferencijalna sigurnosna kopija

Diferencijalna sigurnosna kopija bilježi samo promjene podataka od posljednje potpune sigurnosne kopije, smanjujući vrijeme izrade sigurnosne kopije i zahtjeve za pohranom.

2.2.1 Kako funkcionira diferencijalna sigurnosna kopija

Diferencijalne sigurnosne kopije prate izmjene pomoću promijenjenih ekstenta. Prilikom vraćanja, SQL Server prvo primjenjuje posljednju potpunu sigurnosnu kopiju, a zatim primjenjuje najnoviju diferencijalnu sigurnosnu kopiju.

2.2.2 Potpuna vs. diferencijalna sigurnosna kopija

Potpuna vs. diferencijalna sigurnosna kopija

Aspekt Potpuna sigurnosna kopija Diferencijalna sigurnosna kopija
Veličina Kompletna baza podataka Samo promjene od zadnje potpune sigurnosne kopije
Vrijeme izrade sigurnosne kopije najduži Brže od punog
Proces vraćanja Vraćanje jedne datoteke Zahtijeva puni + diferencijalni
Potrebno skladištenje Najviše prostora U početku manje prostora, s vremenom raste

2.3 Sigurnosna kopija dnevnika transakcija

Sigurnosne kopije dnevnika transakcija bilježe sve transakcije od posljednje sigurnosne kopije dnevnika, omogućujući oporavak u određenom trenutku.

2.3.1 Razumijevanje zapisnika transakcija

Zapisnik transakcija bilježi svaku izmjenu vaše baze podataka. Sigurnosne kopije zapisnika skraćuju neaktivni dio zapisnika, sprječavajući njegovo neograničeno povećanje i popunjavanje diska.

2.3.2 Oporavak u određenom trenutku

Sigurnosne kopije dnevnika transakcija omogućuju vam vraćanje baze podataka na bilo koji određeni trenutak unutar sigurnosne kopije dnevnika. To je ključno za oporavak od slučajnih izmjena ili brisanja podataka.

Za izvođenje oporavka u određenom trenutku potrebno vam je:

  • Posljednja potpuna sigurnosna kopija
  • Najnovija diferencijalna sigurnosna kopija (nije obavezno)
  • Sve sigurnosne kopije dnevnika transakcija od potpune/diferencijalne sigurnosne kopije do ciljanog vremena

2.4 Sigurnosna kopija zapisnika o završetku

Sigurnosne kopije zapisa ... SQL Server Za oporavak baze podataka do najnovijeg trenutka u vremenu, morate napraviti sigurnosnu kopiju repa njenog dnevnika transakcija. Sigurnosna kopija repa dnevnika je posljednja sigurnosna kopija od interesa u planu oporavka baze podataka.

Dijagram koji objašnjava sigurnosne kopije zapisnika u SQL Server.

Bilješka: Nisu svi scenariji vraćanja potrebni za sigurnosnu kopiju zapisnika. Ne trebate je ako se točka oporavka nalazi u ranijoj sigurnosnoj kopiji zapisnika. Sigurnosna kopija zapisnika također nije potrebna ako premještate ili zamjenjujete (prepisujete) bazu podataka i ne morate je vratiti na trenutak nakon njezine najnovije sigurnosne kopije.

2.4.1 Kada su potrebne sigurnosne kopije zapisnika

Sljedeći scenariji opisuju kada biste trebali napraviti sigurnosnu kopiju zapisnika:

Obnova online baze podataka: Ako je baza podataka online i planirate izvršiti operaciju vraćanja na bazi podataka, započnite izradom sigurnosne kopije repa dnevnika. Da biste izbjegli pogrešku za online bazu podataka, morate koristiti opciju WITH NORECOVERY naredbe BACKUP Transact-SQL prilikom izrade sigurnosne kopije. SQL Server baza podataka.

Oporavak baze podataka izvan mreže: Ako je baza podataka izvan mreže i ne uspije se pokrenuti, a trebate je vratiti, prvo napravite sigurnosnu kopiju zapisnika. Budući da se u ovom trenutku ne mogu odvijati transakcije, korištenje opcije WITH NORECOVERY nije obavezno. NORECOVERY je u ovom scenariju zapravo isto što i samo kopiranje zapisnika transakcija.

Oštećena sigurnosna kopija baze podataka: Ako je baza podataka oštećena, pokušajte napraviti sigurnosnu kopiju zapisnika pomoću opcije WITH CONTINUE_AFTER_ERROR naredbe BACKUP. Na oštećenoj bazi podataka, sigurnosno kopiranje zapisnika može uspjeti samo ako datoteke zapisnika nisu oštećene, baza podataka je u stanju koje podržava sigurnosne kopije zapisnika i baza podataka ne sadrži nikakve skupno zabilježene promjene. Ako se sigurnosna kopija zapisnika ne može stvoriti, sve transakcije izvršene nakon najnovijeg MS SQL Server sigurnosne kopije baze podataka su izgubljene.

2.4.2 Ključne opcije za sigurnosne kopije zapisnika o završnim promjenama

S NORECOVERYJEM: Koristite WITH NORECOVERY ako sigurnosno kopirate ostatak zapisnika online baze podataka koju planirate naknadno vratiti. NORECOVERY prebacuje bazu podataka u offline način rada. Također možete sigurnosno kopirati SQL Server zapisnik stanja izvanmrežne baze podataka. Ako želite da baza podataka ostane izvan mreže, upotrijebite WITH NORECOVERY. Imajte na umu da će zapisnik biti skraćen osim ako ne navedete opciju COPY_ONLY ili NO_TRUNCATE.

S NASTAVKOM_NAKON_POGREŠKE: Koristite CONTINUE_AFTER_ERROR samo ako sigurnosno kopirate kraj oštećene baze podataka. Kada sigurnosno kopirate kraj zapisnika na oštećenoj bazi podataka, neki od metapodataka koji se obično snimaju u sigurnosne kopije zapisnika možda neće biti dostupni.

2.5 Sigurnosna kopija samo za kopiranje

Sigurnosne kopije samo za kopiranje stvaraju neovisnu sigurnosnu kopiju bez utjecaja na normalan slijed sigurnosnih kopija. Ne remete diferencijalne lance sigurnosnih kopija ili kontinuitet dnevnika transakcija.

Koristite sigurnosne kopije samo za kopiranje za:

  • Izrada testnih ili razvojnih kopija baze podataka
  • Ad-hoc sigurnosne kopije bez utjecaja na zakazane sigurnosne kopije
  • Sigurnosna kopija prije većih promjena ili testiranja

2.6 Sigurnosna kopija datoteka i grupa datoteka

Sigurnosne kopije datoteka i grupa datoteka ciljaju određene datoteke ili grupe datoteka baze podataka, a ne cijelu bazu podataka. Ovaj pristup dobro funkcionira za vrlo velike baze podataka gdje sigurnosno kopiranje svega traje predugo.

Prednosti uključuju:

  • Brže operacije sigurnosnog kopiranja za velike baze podataka
  • Paralelna izrada sigurnosnih kopija više grupa datoteka
  • Mogućnosti granularnog oporavka
  • Optimizirani rasporedi sigurnosnog kopiranja za grupe datoteka samo za čitanje

2.7 Djelomična sigurnosna kopija

Djelomične sigurnosne kopije uključuju sve podatke u primarnoj grupi datoteka i svim grupama datoteka za čitanje i pisanje, isključujući grupe datoteka samo za čitanje. To smanjuje veličinu i vrijeme sigurnosne kopije za baze podataka sa statičkim povijesnim podacima pohranjenim u grupama datoteka samo za čitanje.

3. SQL Server Modeli oporavka

SQL Server Modeli oporavka određuju koje su vrste sigurnosnih kopija dostupne i kako se upravlja zapisnicima transakcija.

3.1 Jednostavan model oporavka

3.1.1 Karakteristike i slučajevi upotrebe

Jednostavan oporavak automatski skraćuje dnevnik transakcija nakon svake kontrolne točke, oslobađajući prostor bez potrebe za sigurnosnim kopijama dnevnika.

Najbolje za:

  • Razvojne i testne baze podataka
  • Baze podataka kod kojih je gubitak podataka između sigurnosnih kopija prihvatljiv
  • Skladišta podataka s ETL procesima koji se mogu ponovno pokrenuti
  • Baze podataka samo za čitanje ili izvještavanje

3.1.2 Dostupne opcije sigurnosne kopije

Jednostavan oporavak podržava:

  • Pune sigurnosne kopije
  • Diferencijalne sigurnosne kopije
  • Sigurnosne kopije datoteka i grupa datoteka
  • Sigurnosne kopije samo za kopiranje

Sigurnosne kopije dnevnika transakcija su nije dostupno u jednostavnom modelu oporavka.

3.2 Model potpunog oporavka

3.2.1 Značajke i prednosti

Potpuni oporavak bilježi sve transakcije i čuva zapise dnevnika dok ih ne sigurnosno kopirate. To omogućuje potpuni oporavak podataka do bilo kojeg trenutka unutar sigurnosne kopije dnevnika transakcija.

Glavne prednosti:

  • Minimalni potencijal gubitka podataka
  • Mogućnost vraćanja u određenom trenutku
  • Podržava slanje logova i zrcaljenje baze podataka
  • Maksimalna fleksibilnost oporavka

3.2.2 Upravljanje zapisnikom transakcija

Pod potpunim oporavkom, morate redovito izrađivati ​​sigurnosne kopije dnevnika transakcija kako biste:

  • Spriječite zapisnik transakcija da popuni prostor na disku
  • Održavajte kontinuirani lanac sigurnosnih kopija
  • Omogući oporavak u određenom trenutku
  • Kontrola rasta datoteke zapisnika

Tipičan raspored sigurnosnog kopiranja: potpune sigurnosne kopije tjedno, diferencijalne sigurnosne kopije dnevno, sigurnosne kopije dnevnika svakih 15-30 minuta.

3.3 Model oporavka s masovnim zapisivanjem

3.3.1 Kada koristiti skupno evidentiranje

Oporavak s masovnim zapisivanjem minimalno zapisuje masovne operacije poput BULK INSERT, SELECT INTO i ponovne izgradnje indeksa, a istovremeno održava potpuno zapisivanje za redovne transakcije.

Koristite oporavak s masovnim zapisivanjem kada:

  • Izvođenje velikih skupnih operacija uvoza
  • Obnova indeksa na velikim tablicama
  • Izvršavanje operacija koje imaju koristi od minimalnog evidentiranja
  • Potreba za smanjenjem veličine dnevnika transakcija tijekom određenih operacija

3.3.2 Ograničenja i razmatranja

Važna ograničenja:

  • Vraćanje u određeno vrijeme nije dostupno tijekom skupnih operacija
  • Sigurnosne kopije zapisnika su veće kada se izvode skupne operacije
  • Mora se prebacivati ​​između potpunog i skupnog zapisivanja po potrebi

3.4 Odabir pravog modela oporavka

Odaberite model oporavka na temelju poslovnih zahtjeva:

Model oporavka Rizik od gubitka podataka Oporavak u određenom trenutku Najbolje za
Jednostavan Promjene od posljednje sigurnosne kopije Ne Razvoj/testiranje, prihvatljiv gubitak podataka
Full Minimalno (obično nekoliko minuta) Da Produkcijske baze podataka, kritični podaci
Skupno zabilježeno Promjene od zadnje sigurnosne kopije dnevnika Ograničeno tijekom masovnih operacija Privremena upotreba tijekom rasutih operacija

4. rezerva SQL Server Baza podataka pomoću SSMS-a

4.1 Preduvjeti i priprema

Prije izrade sigurnosne kopije vašeg SQL Server baze podataka, osigurajte:

  • Imate odgovarajuća dopuštenja (db_owner ili dopuštenje za SIGURNOSNU BAZU PODATAKA)
  • Dovoljno prostora na disku za datoteku sigurnosne kopije
  • SQL Server Instaliran Management Studio (SSMS)
  • Mrežni putevi dostupni ako se izrađuje sigurnosna kopija na mrežne lokacije

4.2 Korak po korak: Potpuna sigurnosna kopija pomoću SSMS-a

Slijedite ove korake za izradu potpune sigurnosne kopije vašeg SQL Server baza podataka pomoću SSMS-a.

4.2.1 Otvaranje SQL Server Studio za upravljanje

  1. Lansirati SQL Server Studio za upravljanje
  2. Unesite naziv vašeg servera u Naziv poslužitelja polje
  3. Odaberite metodu autentifikacije
  4. Kliknite Connect

4.2.2 Odabir opcija baze podataka i sigurnosne kopije

  1. In Istraživač objekata, proširite Baze podataka čvor
  2. Desnom tipkom miša kliknite bazu podataka koju želite sigurnosno kopirati
  3. odabrati Zadaci -> Natrag Gore
    Pokrenite zadatak sigurnosne kopije za SQL Server baza podataka u SQL Server Studio za upravljanje.
  4. u Sigurnosna kopija baze podataka prozor, provjerite naziv baze podataka
  5. odabrati Full kao Vrsta sigurnosne kopije
    Izradite potpunu sigurnosnu kopiju SQL Server baza podataka u SQL Server Studio za upravljanje.

4.2.3 Konfiguriranje odredišta sigurnosne kopije

  1. Pod Odredište, Kliknite ukloniti za brisanje zadane putanje (ako je potrebno)
  2. Kliknite dodati za određivanje nove lokacije sigurnosne kopije
  3. Unesite putanju i naziv datoteke pomoću .Jarac nastavak
  4. Kliknite OK potvrditi odredište

Postavite odredište sigurnosne kopije u SQL Server Studio za upravljanje.

4.2.4 Advanced Backup Postavke

  1. Kliknite Opcije medija na lijevoj ploči
  2. Odaberite opcije sigurnosne kopije:
    • Prepiši sve postojeće skupove sigurnosnih kopija – Zamjenjuje postojeće sigurnosne kopije
    • Dodaj postojećem skupu sigurnosnih kopija – Dodaje se postojećoj datoteci sigurnosne kopije

    Postavite opcije medija za sigurnosno kopiranje u SQL Server Studio za upravljanje.

  3. Kliknite Opcije sigurnosne kopije na lijevoj ploči
  4. Konfigurirajte opcionalne postavke:
    • Komprimiraj sigurnosnu kopiju – Smanjuje veličinu datoteke sigurnosne kopije
    • Šifriranje sigurnosne kopije – Štiti osjetljive podatke
    • Provjerite sigurnosnu kopiju kada završite – Provjerava integritet sigurnosne kopije

    Postavite opcije sigurnosne kopije u SQL Server Studio za upravljanje.

4.2.5 Izrada sigurnosne kopije

  1. Pregledajte sve postavke u Sigurnosna kopija baze podataka prozor
  2. Kliknite OK za pokretanje procesa sigurnosne kopije
  3. Pričekajte da se sigurnosna kopija dovrši
  4. Poruka o uspjehu pojavljuje se kada se sigurnosna kopija završi
  5. Kliknite OK za zatvaranje dijaloga za potvrdu

4.3 Izrada diferencijalne sigurnosne kopije pomoću SSMS-a

Za izradu diferencijalne sigurnosne kopije slijedite iste korake kao i za potpunu sigurnosnu kopiju, ali odaberite Diferencijal kao vrstu sigurnosne kopije u koraku 4.2.2. Imajte na umu da diferencijalne sigurnosne kopije zahtijevaju prethodnu potpunu sigurnosnu kopiju kao osnovu.

Izradite diferencijalnu sigurnosnu kopiju SQL Server baza podataka u SQL Server Studio za upravljanje.

4.4 Izrada sigurnosne kopije dnevnika transakcija pomoću SSMS-a

Sigurnosne kopije dnevnika transakcija dostupne su samo za baze podataka koje koriste modele oporavka s punim ili skupnim zapisivanjem.

  1. Desnom tipkom miša kliknite bazu podataka u Istraživač objekata
  2. odabrati Zadaci -> Natrag Gore
  3. Odaberite Dnevnik transakcija kao vrsta sigurnosne kopije
  4. Konfigurirajte odredište i opcije prema potrebi
  5. Kliknite OK za izradu sigurnosne kopije dnevnika

Izradite sigurnosnu kopiju dnevnika transakcija za SQL Server baza podataka u SQL Server Studio za upravljanje.

4.5 Izrada sigurnosne kopije samo za kopiranje pomoću SSMS-a

Sigurnosne kopije samo za kopiranje ne ometaju vaš uobičajeni slijed sigurnosnih kopija.

  1. Slijedite korake za stvaranje potpune sigurnosne kopije
  2. u Opcije sigurnosne kopije stranica
  3. Provjeri Sigurnosna kopija samo za kopiranje opcija
  4. Dovršite postupak sigurnosne kopije normalno

Izradite sigurnosnu kopiju samo za kopiranje SQL Server baza podataka u SQL Server Studio za upravljanje.

5. rezerva SQL Server Baza podataka pomoću T-SQL-a

5.1 Osnovna sintaksa sigurnosne kopije baze podataka

T-SQL naredba BACKUP DATABASE omogućuje programsku kontrolu nad SQL Server sigurnosne kopije.

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

5.2 Potpuna sigurnosna kopija T-SQL naredbi

5.2.1 Jednostavna skripta za potpunu sigurnosnu kopiju

Izradite osnovnu potpunu sigurnosnu kopiju s minimalnim opcijama:

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

5.2.2 Potpuna sigurnosna kopija s opcijama

Dodajte opisne informacije i opcije formatiranja:

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

Objašnjenje opcija:

  • FORMAT – Stvara novi skup sigurnosnih kopija
  • INIT – Prepisuje postojeću datoteku sigurnosne kopije
  • IME – Dodjeljuje naziv skupa sigurnosnih kopija
  • OPIS – Dodaje opisni tekst
  • STATISTIKE – Prikazuje napredak svakih 10%

5.3 Diferencijalne sigurnosne kopije T-SQL naredbi

Diferencijalne sigurnosne kopije koriste opciju DIFFERENTIAL:

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

5.4 T-SQL naredbe za sigurnosno kopiranje dnevnika transakcija

Koristite BACKUP LOG za sigurnosne kopije dnevnika transakcija:

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

5.5 Napredne opcije sigurnosne kopije T-SQL-a

5.5.1 Sigurnosna kopija u više datoteka

Distribuirajte sigurnosnu kopiju na više datoteka za brže performanse:

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 Sigurnosna kopija s kompresijom

Smanjite veličinu sigurnosne kopije datoteke i propusnost mreže:

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

5.5.3 Sigurnosna kopija s enkripcijom

Zaštitite osjetljive podatke š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 Sigurnosna kopija sa zaštitom lozinkom

Dodajte zaštitu lozinkom (zastarjelo, umjesto toga koristite enkripciju):

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

5.5.5 Zrcaljene sigurnosne kopije

Stvorite simultane kopije na različite lokacije:

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

5.6 Primjeri i skripte za izradu sigurnosnih kopija u T-SQL-u

Potpuni skript za sigurnosnu kopiju s obradom grešaka:

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. rezerva SQL Server Baza podataka pomoću PowerShella

6.1 PowerShell cmdleti za sigurnosno kopiranje

SQL Server PowerShell modul pruža cmdlete za automatizaciju sigurnosnog kopiranja:

  • Sigurnosna kopija SQL baze podataka – Izrađuje sigurnosne kopije baza podataka
  • Restore-SqlDatabase – Vraća sigurnosne kopije baze podataka
  • Get-SqlDatabase – Dohvaća podatke iz baze podataka

Uvezite SQL Server modul:

Import-Module SqlServer

6.2 Izrada skripti za sigurnosne kopije pomoću PowerShella

Osnovna PowerShell naredba za sigurnosno kopiranje:

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

Primjer diferencijalne sigurnosne kopije:

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

Sigurnosna kopija dnevnika transakcija:

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

6.3 Automatizacija sigurnosnih kopija pomoću PowerShella

Izradite automatiziranu skriptu za sigurnosno kopiranje za više baza podataka:

# 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. rezerva SQL Server Baza podataka pomoću naredbenog retka

SQL Server pruža uslužne programe naredbenog retka koji vam omogućuju izradu sigurnosnih kopija SQL Server baza podataka bez korištenja SSMS-a ili grafičkih sučelja. Ovi alati su ključni za scenarije automatizacije, skriptiranja i udaljene administracije.

7.1 Korištenje SQLCMD sigurnosne kopije baze podataka

SQLCMD je moderni uslužni program naredbenog retka za SQL Server koji je zamijenio OSQL. Pruža poboljšanu funkcionalnost i preporučeni je alat za izvršavanje T-SQL naredbi iz naredbenog retka.

7.1.1 Osnovna sintaksa SQLCMD-a

sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: Određuje SQL Server naziv instance
  • d: Određuje naziv baze podataka
  • -P: Izvršava upit i izlazi
  • -I: Koristi Windows autentifikaciju
  • -U: Određuje SQL Server korisničko ime za prijavu
  • -P: Određuje lozinku za SQL Server prijava

7.1.2 Izrada sigurnosne kopije pomoću SQLCMD-a

Podržati SQL Server Pomoću SQLCMD-a slijedite ove korake:

  1. Otvoren Command Prompt or PowerShell
  2. Dođite na SQL Server direktorij alata (obično se dodaje u PATH tijekom instalacije)
  3. Izvršite naredbu za sigurnosno kopiranje baze podataka SQLCMD s odgovarajućim parametrima
  4. Provjerite je li sigurnosna kopija datoteke uspješno stvorena

Primjer naredbe za potpunu sigurnosnu kopiju pomoću Windows autentifikacije:

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

Primjer korištenja SQL Server Ovjera:

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

Izrada diferencijalne sigurnosne kopije pomoću SQLCMD-a

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

Izrada sigurnosne kopije dnevnika transakcija pomoću SQLCMD-a

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

7.1.3 Sigurnosna kopija baze podataka izdavača u SQL Server odgovor

Prilikom izrade sigurnosnih kopija baza podataka izdavača u SQL Server Replikacija, upotrijebite opciju WITH REPLICATION kako biste sačuvali metapodatke replikacije i osigurali konzistentnost transakcija.

-- 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 više detalja o SQL Server replikacija, pogledajte našu sveobuhvatan vodič.

7.2 Korištenje OSQL sigurnosne kopije baze podataka

OSQL je stari uslužni program naredbenog retka za SQL ServerIako Microsoft preporučuje korištenje SQLCMD-a, OSQL ostaje dostupan radi unatrag kompatibilnosti sa starijim skriptama i sustavima.

7.2.1 Osnovna OSQL sintaksa

Sintaksa OSQL-a je slična SQLCMD-u:

osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
  • -S: SQL Server naziv instance
  • d: Naziv baze podataka
  • -P: Izvršava upit i izlazi
  • -I: Koristi pouzdanu vezu (Windows autentifikacija)
  • -U: Korisničko ime za prijavu
  • -P: Lozinka

7.2.2 Izrada sigurnosne kopije pomoću OSQL-a

Za izvođenje operacija sigurnosne kopije OSQL baze podataka:

  1. Otvoren Command Prompt
  2. Provjerite je li OSQL dostupan u vašem SQL Server instalacija
  3. Izvršite OSQL naredbu za sigurnosno kopiranje

Primjer potpune sigurnosne kopije:

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

Primjer diferencijalne sigurnosne kopije:

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

8. Treća strana SQL Server Alati za izradu sigurnosnih kopija

Dok su SQL Server uključuje izvorne mogućnosti sigurnosnog kopiranja, alati trećih strana nude poboljšane značajke, automatizaciju i upravljanje na razini poduzeća za organizacije sa složenim zahtjevima. Ova rješenja pružaju naprednu kompresiju, centralizirano upravljanje i pojednostavljene tijekove rada za sigurnosno kopiranje SQL Server baze podataka u više okruženja.

8.1 Veeam sigurnosna kopija za SQL Server

Veeam nudi sveobuhvatna rješenja za zaštitu podataka posebno dizajnirana za sigurnosno kopiranje SQL Server baze podataka s minimalnim utjecajem na produkcijske sustave.

Ključne značajke:

  • Obrada svjesna aplikacije za SQL Server konzistentnost sigurnosnih kopija
  • Sigurnosna kopija i upravljanje dnevnikom transakcija
  • Oporavak u trenutku s detaljnim opcijama vraćanja
  • Integracija s Veeam Backup & Replication za objedinjenu zaštitu podataka
  • Automatizirana provjera i validacija sigurnosnih kopija
  • Podrška za grupe dostupnosti Always On
  • Razina virtualnog stroja i razina aplikacije SQL Server rezervne opcije

8.2 Sigurnosna kopija Barracude za SQL Server

Barracuda nudi rješenja za sigurnosno kopiranje integrirana u oblak s pojednostavljenim upravljanjem za Microsoft Windows. SQL Server operacije izrade sigurnosnih kopija baze podataka.

Ključne značajke:

  • Automatizirana SQL Server zakazivanje sigurnosnih kopija
  • Ugrađena replikacija u oblaku na Barracuda Cloud Storage
  • Globalna deduplikacija i kompresija
  • Mogućnosti trenutnog lokalnog oporavka
  • Web-bazirana konzola za upravljanje
  • Podrška za potpune, diferencijalne i sigurnosne kopije dnevnika transakcija
  • Zaštita od ransomwarea s nepromjenjivim sigurnosnim kopijama

8.3 Veritas NetBackup za SQL Server

Veritas NetBackup je platforma za sigurnosno kopiranje poslovne klase koja pruža sveobuhvatnu zaštitu za SQL Server baze podataka u složenim IT okruženjima.

Ključne značajke:

  • Upravljanje sigurnosnim kopijama na razini poduzeća za tisuće SQL Server instance
  • Napredni algoritmi za deduplikaciju i kompresiju
  • Fleksibilne politike i zakazivanje sigurnosnih kopija
  • Podrška za sve SQL Server modeli oporavka
  • Integracija s bibliotekama traka i pohranom u oblaku
  • Granularni oporavak baza podataka, tablica i objekata
  • Podrška za više platformi (Windows, Linux) SQL Server)
  • Automatizirano upravljanje životnim ciklusom sigurnosnih kopija

8.4 Commvault Potpuna sigurnosna kopija i oporavak za SQL Server

Commvault pruža inteligentno upravljanje podacima s opsežnim sigurnosnim kopiranjem SQL Server mogućnosti i napredne značajke automatizacije.

Ključne značajke:

  • Optimizacija sigurnosnih kopija i otkrivanje anomalija vođeno umjetnom inteligencijom
  • Ujedinjena platforma za sigurnosno kopiranje, oporavak i arhiviranje
  • napredan SQL Server kompresija sigurnosnih kopija (smanjenje do 90%)
  • Automatizirana orkestracija oporavka od katastrofe
  • Sinkronizacija uživo za gotovo nultu RPO zaštitu
  • Podrška za SQL Server lokalne, oblačne i hibridne implementacije
  • IntelliSnap za sigurnosne kopije temeljene na snimkama
  • Sveobuhvatne mogućnosti usklađenosti i elektroničkog otkrivanja

8.5 Kohezivnost DataProtect za SQL Server

Cohesity pruža upravljanje podacima sljedeće generacije s hiperkonvergentnom infrastrukturom za moderno SQL Server sigurnosne operacije.

Ključne značajke:

  • Web-skala arhitektura za pojednostavljeno upravljanje
  • Mogućnosti trenutnog masovnog vraćanja za SQL Server baze podataka
  • Snimke konzistentne s aplikacijom
  • Globalna deduplikacija u svim sigurnosnim kopijama
  • Nativna integracija u oblaku (AWS, Azure, Google Cloud)
  • Ugrađene nadzorne ploče za analitiku i praćenje
  • Mogućnosti kloniranja i testiranja baze podataka
  • Zaštita od ransomwarea s nepromjenjivim snimkama

8.6 Red Gate SQL Backup Pro

Red Gate SQL Backup Pro je specijalizirani alat usmjeren isključivo na optimizaciju SQL Server operacije sigurnosne kopije i vraćanja s vrhunskom kompresijom i performansama.

Ključne značajke:

  • Vodeći omjeri kompresije u industriji (do 95%)
  • Otpornost mreže za izradu sigurnosnih kopija SQL Server preko nepouzdanih veza
  • Šifriranje sigurnosnih kopija s 256-bitnim AES-om
  • Provjera sigurnosne kopije i provjera integriteta
  • Detaljna povijest i izvještavanje o sigurnosnim kopijama
  • Integracija s SQL Server Studio za upravljanje
  • Podrška za sigurnosno kopiranje na mrežne lokacije i pohranu u oblaku
  • Paralelno sigurnosno kopiranje i vraćanje za brže operacije

9. Kako vratiti SQL Server Baza podataka

9.1 Razumijevanje postupka vraćanja

Vraćanje a SQL Server baza podataka ponovno stvara bazu podataka iz datoteka sigurnosnih kopija. Proces vraćanja čita datoteku sigurnosne kopije i rekonstruira bazu podataka u stanje sigurnosne kopije.

Važna razmatranja:

  • Vraćanje prepisuje postojeću bazu podataka
  • Korisnici su isključeni tijekom vraćanja
  • Vraćanje mora slijediti redoslijed sigurnosne kopije (puna, zatim diferencijalna, pa zapisnici)
  • Baza podataka nije dostupna tijekom operacije vraćanja

9.2 Vraćanje potpune sigurnosne kopije pomoću SSMS-a

Slijedite ove korake za vraćanje potpune sigurnosne kopije baze podataka.

9.2.1 Postupak vraćanja korak po korak

  1. Otvoren SQL Server Studio za upravljanje i spojite se na svoj server
  2. In Istraživač objekata, desni klik Baze podataka
  3. odabrati Vrati bazu podataka
  4. u izvor odaberite Uređaj
  5. kliknite ... gumb za pregledavanje datoteka sigurnosnih kopija
  6. Kliknite dodati i idite do svoje .bak datoteke
  7. Odaberite datoteku sigurnosne kopije i kliknite OK
  8. u Odredište unesite naziv baze podataka
  9. Pregledajte skupove sigurnosnih kopija za vraćanje
  10. Kliknite OK za početak vraćanja

9.2.2 Mogućnosti i postavke vraćanja

Kliknite Opcije u lijevoj ploči za konfiguriranje:

  • Prepiši postojeću bazu podataka (SA ZAMJENOM) – Omogućuje vraćanje preko postojeće baze podataka
  • Očuvanje stanja replikacije (UZ KEEP_REPLICATION) - Zadrži SQL Server odgovor su
  • Ograniči pristup obnovljenoj bazi podataka (WITH RESTRICTED_USER) – Ograničava pristup nakon vraćanja
  • Stanje oporavka – Odaberite između OBNAVLJANJA S OPORAVKOM ili OPORAVKA BEZ OPORAVKA

9.3 Vraćanje diferencijalne sigurnosne kopije

Diferencijalno vraćanje zahtijeva i potpune i diferencijalne sigurnosne kopije:

  1. Prvo, vratite punu sigurnosnu kopiju s NORECOVERY opcija
  2. Zatim vratite diferencijalnu sigurnosnu kopiju s OPORAVAK opcija

Primjer T-SQL-a:

-- 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 Vraćanje pomoću sigurnosnih kopija dnevnika transakcija

Za oporavak u određenom trenutku, vraćanje se vrši redom:

  1. Vratite potpunu sigurnosnu kopiju pomoću NORECOVERY-ja
  2. Vrati diferencijalnu sigurnosnu kopiju pomoću NORECOVERY (ako je dostupno)
  3. Vratite sigurnosne kopije dnevnika transakcija po redu pomoću NORECOVERY-ja
  4. Vratite konačnu sigurnosnu kopiju dnevnika pomoću 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 Obnova u određenom trenutku

Vratite bazu podataka na određenu vremensku točku pomoću opcije 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 Vraćanje tablice

SQL Server ne podržava izravno vraćanje na razini tablice iz sigurnosnih kopija datoteka. Međutim, još uvijek postoje neka rješenja.

9.6.1 Metoda 1: Snimke baze podataka (najbolje za prevenciju)

Snimke baze podataka pružaju najbrži način vraćanja podataka tablice ako su stvorene prije nego što se problem pojavi. Snimka je statički prikaz baze podataka samo za čitanje u određenom trenutku.

Izrada snimke baze podataka:

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

Vraćanje podataka tablice iz snimke stanja:

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

Zahtjevi verzije: Snimke baze podataka dostupne su u SQL Server Enterprise Edition (sve verzije) i Standard Edition počevši od SQL Server 2016 SP1.

9.6.2 Metoda 2: Vraćanje u privremenu bazu podataka (najčešća)

Ova metoda funkcionira kada trebate oporaviti podatke tablice nakon što se pojavi problem, a ne postoji snimka stanja:

  1. Vraćanje sigurnosne kopije u privremenu bazu podataka
  2. Kopiranje podataka tablice iz privremene baze podataka u trenutnu bazu podataka

9.7 Vraćanje stranice

Vraćanje stranice oporavlja pojedinačne oštećene stranice bez vraćanja cijele baze podataka, smanjujući vrijeme zastoja ciljajući samo na oštećene stranice. Ova je značajka dostupna samo u modelima potpunog ili skupnog oporavka i zahtijeva neprekinuti lanac sigurnosnih kopija dnevnika transakcija od sigurnosne kopije stranice do trenutne datoteke dnevnika.

Za vraćanje stranice prvo identificirajte oštećene stranice, napravite sigurnosnu kopiju zapisnika transakcija, vratite određene stranice, a zatim primijenite sve zapisnike transakcija:

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

Bilješka: Vraćanje stranice nije dostupno u jednostavnom modelu oporavka. Ne možete vratiti stranice iz sistemskih tablica ili metapodataka primarne grupe datoteka.

9.8 Postupno vraćanje

Djelomično vraćanje (parcijalno vraćanje) vraća bazu podataka u fazama na razini grupe datoteka, počevši od primarne grupe datoteka. Time se kritični podaci odmah povezuju s internetom, dok se manje kritični podaci vraćaju u pozadini. U modelu jednostavnog oporavka, sve grupe datoteka za čitanje i pisanje moraju se vratiti zajedno s primarnom grupom datoteka; samo grupe datoteka samo za čitanje mogu se vratiti zasebno. U modelima potpunog ili skupnog oporavka, svaka grupa datoteka može se neovisno pokrenuti s internetom nakon primjene dnevnika transakcija.

Model oporavka Ponašanje postupnog vraćanja
Jednostavan Primarna i sve grupe datoteka za čitanje i pisanje vraćene su zajedno. Grupe datoteka samo za čitanje vraćene su zasebno.
Potpuno/Skupno zabilježeno Svaka grupa datoteka vraćena je neovisno na razini grupe datoteka.

Primjer modela potpunog oporavka – prvo vratite primarnu grupu datoteka kako biste bazu podataka postavili online, a zatim vratite sekundarne grupe datoteka dok baza podataka ostaje operativna:

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

Primjer jednostavnog modela oporavka:

-- 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 Vraćanje pomoću T-SQL naredbi

Potpuni skript za vraćanje s premještanjem datoteke:

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 Provjera integriteta sigurnosne kopije prije vraćanja

Provjerite valjanost sigurnosne kopije bez vraćanja:

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

Ova naredba provjerava je li skup sigurnosnih kopija potpun i čitljiv bez stvarnog vraćanja baze podataka.

10. SQL Server Najbolje prakse sigurnosnog kopiranja

10.1 Razvoj strategije izrade sigurnosnih kopija

10.1.1 Procjena poslovnih zahtjeva

Prije implementacije sigurnosnih kopija, procijenite:

  • Kritičnost podataka: Koliko su ovi podaci važni za poslovanje?
  • Promjena učestalosti: Koliko često se podaci mijenjaju?
  • Veličina baze podataka: Koliko je velika baza podataka?
  • Raspoloživi resursi: Kolika je pohrana i propusnost dostupni?
  • Potrebe za usklađenošću: Kojih se propisa morate pridržavati?

10.1.2 Definiranje RTO-a i RPO-a

Ciljano vrijeme oporavka (RTO): Maksimalno prihvatljivo vrijeme zastoja. Određuje koliko brzo trebate obnoviti rad.

Ciljna točka oporavka (RPO): Maksimalni prihvatljivi gubitak podataka. Određuje učestalost sigurnosnog kopiranja.

Zahtjev za RTO/RPO Preporučena strategija sigurnosnog kopiranja
RPO: Sati, RTO: Sati Dnevni puni + zapisnik transakcija svakih 1-2 sata
RPO: Minute, RTO: Sati Dnevne pune + sigurnosne kopije dnevnika svakih 15-30 minuta
RPO: Gotovo nula, RTO: Minute Grupe dostupnosti Always On + česte sigurnosne kopije zapisnika
RPO: Dani, RTO: Dani Tjedni puni iznos + dnevna razlika

10.2 Izrada rasporeda sigurnosne kopije

10.2.1 Preporuke za učestalost

Tipičan raspored sigurnosnog kopiranja za produkcijske baze podataka:

  • Potpune sigurnosne kopije: Tjedno (nedjeljom navečer tijekom niske aktivnosti)
  • Diferencijalne sigurnosne kopije: Svakodnevno (svake noći)
  • Sigurnosne kopije dnevnika transakcija: Svakih 15-30 minuta tijekom radnog vremena
  • Sigurnosne kopije samo za kopiranje: Po potrebi za testiranje ili razvoj

10.2.2 Uravnoteženje performansi i zaštite

Prilikom raspoređivanja uzmite u obzir ove čimbenike:

  • Sati izvan vrha: Izradite potpune sigurnosne kopije tijekom razdoblja niske aktivnosti
  • Utjecaj resursa: Kompresija smanjuje I/O, ali povećava korištenje CPU-a
  • Mrežni pojas: Zakažite sigurnosne kopije mreže kada je promet nizak
  • Prozori za sigurnosne kopije: Osigurajte dovršetak sigurnosnih kopija prije radnog vremena

10.3 Najbolje prakse pohrane sigurnosnih kopija

10.3.1 Skladištenje na licu mjesta u odnosu na skladištenje izvan mjesta

Sigurnosne kopije na licu mjesta:

  • Brže vrijeme izrade sigurnosnih kopija i vraćanja
  • Niži troškovi za pristup visokim frekvencijama
  • Osjetljivo na lokalne katastrofe
  • Najbolje za scenarije brzog oporavka

Sigurnosne kopije izvan lokacije:

  • Zaštita od katastrofa specifičnih za lokaciju
  • Usklađenost sa zahtjevima geografske redundancije
  • Sporije vrijeme vraćanja
  • Bitno za oporavak od katastrofe

10.3.2 Mogućnosti sigurnosne kopije u oblaku

Prednosti pohrane u oblaku:

  • Azure Blob pohrana: Domorodac SQL Server integracija, isplativa za rijedak pristup
  • Amazon S3: Vrlo izdržljive, fleksibilne razine za pohranu
  • Google Cloud Storage: Konkurentne cijene, globalna dostupnost

10.3.3 Pravila zadržavanja sigurnosnih kopija

Pravila čuvanja uzoraka:

  • Čuvajte dnevne sigurnosne kopije 7 dana
  • Čuvajte tjedne sigurnosne kopije 4 tjedna
  • Čuvajte mjesečne sigurnosne kopije 12 mjeseci
  • Čuvajte godišnje sigurnosne kopije 7 godina (usklađenost)

10.4 Kompresija i šifriranje sigurnosnih kopija

Prednosti kompresije:

  • Smanjuje veličinu sigurnosne kopije za 50-70%
  • Smanjuje vrijeme izrade sigurnosnih kopija
  • Smanjuje troškove skladištenja
  • Smanjuje propusnost mreže za udaljene sigurnosne kopije

Najbolje prakse šifriranja:

  • Uvijek šifrirajte sigurnosne kopije koje sadrže osjetljive podatke
  • Koristite AES 256-bitnu enkripciju
  • Sigurno upravljanje certifikatima ili ključevima
  • Dokumentirajte ključeve za šifriranje i pohranite ih odvojeno

10.5 Testiranje i provjera sigurnosnih kopija

10.5.1 Redovito testiranje vraćanja

Postupci testiranja vraćanja podataka tromjesečno ili mjesečno:

  1. Vraćanje sigurnosnih kopija u testno okruženje
  2. Provjerite integritet i potpunost podataka
  3. Provjerite funkcionalnost aplikacije
  4. Vrijeme vraćanja dokumenta (potvrdite RTO)
  5. Identificirajte i riješite sve probleme

10.5.2 Korištenje RESTORE VERIFYONLY

Automatiziraj validaciju sigurnosnih kopija:

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

Pokrenite provjeru odmah nakon završetka sigurnosne kopije ili kao dio planiranog održavanja.

10.6 Automatizacija i nadzor sigurnosnih kopija

10.6.1 SQL Server Poslovi agenta

Izradite automatizirane sigurnosne kopije:

  1. Proširiti SQL Server Agentvanjska poveznica u SSMS-u
  2. Desnom tipkom miša Posao i odaberite Novi posao
  3. Nazovite zadatak (npr. "Dnevna potpuna sigurnosna kopija")
  4. Dodaj Korak s T-SQL naredbama za sigurnosno kopiranje
  5. Napravite raspored za vrijeme izvršenja
  6. konfigurirati Obavijesti za uspjeh/neuspjeh

10.6.2 Planovi održavanja

SQL Server Planovi održavanja pružaju vizualno sučelje za automatizaciju sigurnosnog kopiranja:

  1. Dođite na Upravljanje -> Planovi održavanja
  2. Kliknite desnom tipkom i odaberite Čarobnjak za plan održavanja
  3. Odaberite zadatke sigurnosne kopije za automatizaciju
  4. Konfigurirajte raspored i opcije sigurnosne kopije
  5. Postavljanje izvještavanja i zapisivanja

10.6.3 Upozorenja i obavijesti o sigurnosnim kopijama

Konfigurirajte obavijesti putem e-pošte:

  • Postavljanje pošte baze podataka u SQL Server
  • Izradite upozorenja za kvarove sigurnosne kopije
  • Praćenje povijesti zadataka sigurnosne kopije
  • Pošaljite sažeta izvješća administratorima

10.7 Dokumentacija i planiranje oporavka od katastrofe

Održavajte sveobuhvatnu dokumentaciju:

  • Raspored sigurnosne kopije: Kada i što se sigurnosno kopira
  • Pravila zadržavanja: Koliko dugo se čuvaju sigurnosne kopije
  • Mjesta skladištenja: Gdje se pohranjuju sigurnosne kopije
  • Postupci vraćanja: Detaljne upute za oporavak
  • Kontakt informacije: Ključno osoblje i dobavljači
  • Rezultati testa oporavka: Dokumentirani rezultati testiranja

11. Napredno SQL Server Scenariji sigurnosne kopije

11.1 Izrada sigurnosnih kopija vrlo velikih baza podataka (VLDB)

11.1.1 Strategije za datoteke i grupe datoteka

Za baze podataka veće od nekoliko stotina gigabajta:

  • Odvojite podatke samo za čitanje i podatke za čitanje i pisanje u različite grupe datoteka
  • Rijetko izrađujte sigurnosne kopije grupa datoteka samo za čitanje
  • Usredotočite se na česte sigurnosne kopije aktivnih grupa datoteka
  • Koristite sigurnosne kopije na razini datoteka za granularnu kontrolu

Primjer sigurnosne 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 performansi sigurnosne kopije

Poboljšajte performanse sigurnosne kopije VLDB-a:

  • Prugaste sigurnosne kopije: Pisanje u više datoteka istovremeno
  • Kompresija: Smanjite zahtjeve za I/O i pohranu
  • Više uređaja za sigurnosno kopiranje: Paralelizacija operacija sigurnosne kopije
  • Brza pohrana: Koristite SSD-ove za pripremu sigurnosnih kopija
  • Broj međuspremnika: Povećaj opciju BUFFERCOUNT
  • Maksimalna veličina prijenosa: Optimizirajte postavku 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 Sigurnosna kopija u grupama dostupnosti Always On

Grupe dostupnosti Always On raspoređuju opterećenje sigurnosnih kopija po replikama:

  • Konfigurirajte postavke sigurnosne kopije (primarne, sekundarne ili bilo koje replike)
  • Prebacite sigurnosne kopije na sekundarne replike kako biste smanjili primarno opterećenje
  • Koristite COPY_ONLY sigurnosne kopije na sekundarnim replikama
  • Praćenje postavki prioriteta sigurnosne kopije
-- 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 Sigurnosna kopija za zrcaljenje baze podataka

U scenarijima zrcaljenja baze podataka:

  • Redovito izrađujte sigurnosne kopije glavne baze podataka
  • Sigurnosne kopije dnevnika transakcija su ključne za zrcaljenje
  • Zrcalna baza podataka je u stanju OBNAVLJANJA (ne može se izravno sigurnosno kopirati)
  • Razmislite o izradi sigurnosne kopije mirrora nakon prebacivanja na drugi sustav

11.4 Sigurnosna kopija u Azure Blob Storage

SQL Server može se izravno sigurnosno kopirati u Azure Blob Storage:

  1. Izradite Azure račun za pohranu
  2. stvoriti SQL Server vjerodajnica za Azure autentifikaciju
  3. Koristite URL sintaksu za odredište sigurnosne kopije
-- 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 Sigurnosna kopija na URL

Prednosti izrade sigurnosne kopije na URL:

  • Neograničen kapacitet pohrane u oblaku
  • Automatski se obrađuje geografska redundancija
  • Model cijena po principu plaćanja
  • Nije potreban lokalni prostor na disku
  • Podržava do 64 URL-ova po sigurnosnoj kopiji (striping)

11.6 Prugaste sigurnosne kopije za performanse

Prugaste sigurnosne kopije dijele podatke na više datoteka za brži ulazno/izlazni proces:

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

Napomena: Za vraćanje su potrebne sve stripe datoteke. Nedostatak bilo koje datoteke čini sigurnosnu kopiju neupotrebljivom.

12. Rješavanje problema SQL Server Problemi sa sigurnosnom kopijom

12.1 Uobičajene pogreške pri izradi sigurnosnih kopija i rješenja

Pogreška: „Pogreška operativnog sustava 5: Pristup je odbijen“

  • Uzrok: SQL Server račun usluge nema dopuštenja
  • Rješenje: Dodijeli dozvole za pisanje SQL Server servisni račun u mapi sigurnosnih kopija

Pogreška: „Nije moguće otvoriti uređaj za sigurnosnu kopiju… Pogreška uređaja ili uređaj nije na mreži“

  • Uzrok: Nevažeća putanja ili nedostupno mrežno dijeljenje
  • Rješenje: Provjerite postoji li putanja, provjerite mrežnu povezivost i osigurajte dovoljno prostora na disku

Greška: „Nema dovoljno prostora na disku“

  • Uzrok: Nedovoljno prostora na disku za sigurnosnu kopiju
  • Rješenje: Oslobodite prostor na disku, koristite kompresiju, napravite sigurnosnu kopiju na drugu lokaciju

Pogreška: „Baza podataka u upotrebi. Bazu podataka koriste drugi korisnici“

  • Uzrok: Aktivne veze tijekom vraćanja
  • Rješenje: Koristite opciju WITH REPLACE ili prvo odspojite korisnike

12.2 Problemi s performansama sigurnosne kopije

Dijagnosticiranje sporih sigurnosnih kopija:

  • Provjerite performanse ulazno/izlaznih diskova pomoću Performance Monitor
  • Pratite napredak sigurnosne kopije pomoću opcije STATS
  • pregled SQL Server zapisnik pogrešaka za uska grla
  • Razmotrite kompresiju kako biste smanjili I/O
  • Koristite prugaste sigurnosne kopije na više diskova

Upit za praćenje napretka sigurnosne kopije:

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 Problemi s prostorom i skladištenjem

Spriječite probleme sa skladištenjem:

  • Implementirajte politike zadržavanja: Automatsko brisanje starih sigurnosnih kopija
  • Koristite kompresiju: Smanjite veličinu sigurnosne kopije za 50-70%
  • Arhivirajte u jeftiniju pohranu: Premjesti stare sigurnosne kopije u arhivsku pohranu
  • Praćenje prostora na disku: Postavljanje upozorenja za malo prostora na disku
  • Procijenjena veličina sigurnosne kopije: Izračunajte očekivanu veličinu prije izrade sigurnosne kopije

Procijenjena veličina sigurnosne kopije:

-- Estimate full backup size
EXEC sp_spaceused;
GO

12.4 Problemi s dozvolama i pristupom

Potrebna dopuštenja za sigurnosne kopije:

  • SIGURNOSNA BAZA PODATAKA dopuštenje
  • db_backupoperator članstvo u ulogama
  • sistemski administrator uloga poslužitelja (za sve operacije sigurnosne kopije)

Dodijeli dozvole za sigurnosno 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 Oštećene sigurnosne kopije datoteka

Otkrivanje i rukovanje oštećenim sigurnosnim kopijama:

Provjerite integritet sigurnosne kopije:

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

Omogućite CHECKSUM za buduće sigurnosne kopije:

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

Strategije prevencije:

  • Uvijek koristite opciju CHECKSUM tijekom sigurnosne kopije
  • Provjerite sigurnosne kopije odmah nakon stvaranja
  • Redovito se testiraju vraćanja
  • Pohranite sigurnosne kopije na pouzdanu pohranu
  • Održavajte više sigurnosnih kopija

12.6 Oporavak podataka iz oštećenih sigurnosnih kopija

Ako su vaše sigurnosne kopije oštećene, a i dalje želite oporaviti podatke s njih, možete koristiti alate trećih strana kao što su DataNumen SQL Recovery, kao ispod:

  1. Start DataNumen SQL Recovery.
  2. Odaberite oštećenu datoteku sigurnosne kopije kao izvornu datoteku promjenom filtra na "Sve datoteke (*.*)":
    Odaberite oštećenu datoteku sigurnosne kopije (*.bak) kao izvornu datoteku koju treba oporaviti.
  3. Po potrebi postavite izlaznu .MDF datoteku.
  4. Kliknite "Pokreni oporavak" i slijedite upute za oporavak baze podataka.
  5. Nakon procesa oporavka, nova baza podataka za oporavak će se pojaviti u SQL Server koji sadrži sve oporavljene podatke.

Koristiti DataNumen SQL Recovery za oporavak podataka od oštećenih SQL Server datoteka sigurnosne kopije (*.bak).

13. SQL Server Sigurnost sigurnosnih kopija

13.1 Zaštita sigurnosnih kopija datoteka

Zaštitite sigurnosne kopije datoteka od neovlaštenog pristupa:

  • Dozvole datotečnog sustava: Ograničite pristup samo ovlaštenim administratorima
  • Sigurnost mreže: Koristite sigurne protokole za mrežne sigurnosne kopije
  • Fizičko osiguranje: Spremite sigurnosne kopije medija na sigurna mjesta
  • Zapisivanje pristupa: Pristup datotekama sigurnosnih kopija revizije

13.2 Opcije šifriranja

SQL Server podržava transparentno šifriranje sigurnosnih kopija:

Izradi certifikat 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 sigurnosna kopija:

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

Važno: Napravite sigurnosnu kopiju certifikata i privatnog ključa odvojeno. Bez njih, šifrirane sigurnosne kopije ne mogu se vratiti.

-- 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 Kontrola pristupa i dozvole

Implementirajte princip najmanjih privilegija:

  • Dozvole za sigurnosno kopiranje dodijelite samo potrebnim računima
  • Koristite odvojene račune za operacije sigurnosne kopije i vraćanja
  • Izbjegavajte korištenje SA računa za sigurnosne kopije
  • Redovito provjeravajte dozvole za sigurnosno kopiranje
  • Uklonite dozvole kada više nisu potrebne

13.4 Razmatranja sukladnosti

Obratite se regulatornim zahtjevima:

  • GDPR: Šifrirajte sigurnosne kopije koje sadrže osobne podatke, implementirajte pravila zadržavanja
  • HIPAA: Šifrirajte zaštićene zdravstvene podatke u sigurnosnim kopijama, kontrolirajte pristup, održavajte revizijske tragove
  • PCI DSS: Šifrirajte sigurnosne kopije podataka korisnika kartice, osigurajte sigurno pohranjivanje sigurnosnih kopija
  • SOX: Održavanje integriteta sigurnosnih kopija, pravila čuvanja dokumenata

14. Praćenje i održavanje operacija sigurnosnog kopiranja

14.1 Praćenje povijesti sigurnosnih kopija

SQL Server pohranjuje povijest sigurnosnih kopija u msdb bazu podataka:

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

Pronađite baze podataka bez nedavnih sigurnosnih kopija:

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 Korištenje SQL Server Izvješća

SQL Server Management Studio uključuje ugrađena izvješća o sigurnosnim kopijama:

  1. Desni klik na bazu podataka u Object Exploreru
  2. odabrati Izvješća -> Standardna izvješća
  3. Odaberite između dostupnih izvješća:
    • Događaji sigurnosne kopije i vraćanja
    • Sve sigurnosne kopije
    • Status dostave zapisnika transakcija

14.3 Alati za praćenje trećih strana

Rješenja za komercijalni nadzor:

  • SQL Sentry: Sveobuhvatno praćenje i upozoravanje
  • Redgate SQL Monitor: Praćenje i dijagnostika u stvarnom vremenu
  • Analizator performansi baze podataka SolarWinds: Praćenje performansi i sigurnosnih kopija
  • Idera SQL dijagnostički upravitelj: Validacija i upozorenje sigurnosnih kopija

14.4 Provjere ispravnosti sigurnosnih kopija

Izradite postupak provjere zdravlja:

-- 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 Često postavljana pitanja o sigurnosnim kopijama

15.1 Koliko često trebam izrađivati ​​sigurnosne kopije SQL Server?

Učestalost izrade sigurnosnih kopija ovisi o vašem cilju točke oporavka (RPO):

  • Kritične produkcijske baze podataka: Puni tjedni izvještaj, diferencijalni dnevni izvještaj, zapis svakih 15-30 minuta
  • Standardne produkcijske baze podataka: Puni tjedni izvještaj, diferencijalni dnevni izvještaj, zapis svakih 1-2 sata
  • Razvojne baze podataka: Puni dnevni ili tjedni
  • Baze podataka samo za čitanje: Puno nakon svake promjene podataka

15.2 Koja je razlika između potpune i diferencijalne sigurnosne kopije?

Potpuna sigurnosna kopija kopira cijelu bazu podataka, dok diferencijalna sigurnosna kopija bilježi samo promjene od posljednje potpune sigurnosne kopije. Diferencijalne sigurnosne kopije su manje i brže, ali za vraćanje u prvobitno stanje potrebna je osnovna potpuna sigurnosna kopija.

15.3 Mogu li napraviti sigurnosnu kopiju SQL Server Dok radi?

Da, SQL Server podržava online sigurnosne kopije. Korisnici mogu nastaviti raditi tijekom operacija sigurnosnog kopiranja. SQL Server koristi svoj dnevnik transakcija za održavanje dosljednosti, osiguravajući da su sigurnosne kopije valjane čak i uz istodobne izmjene.

15.4 Koliko dugo traje SQL Server Rezervni snimak?

Trajanje sigurnosne kopije varira ovisno o:

  • Veličina baze podataka: Veće baze podataka traju dulje
  • Vrsta sigurnosne kopije: Potpune sigurnosne kopije traju najdulje
  • Kompresija: Može povećati vrijeme procesora, ali smanjiti ukupno trajanje
  • Brzina pohrane: SSD-ovi znatno brži od HDD-ova
  • Učitavanje poslužitelja: Veća aktivnost usporava sigurnosne kopije

Tipični rasponi: Bazi podataka od 10 GB može biti potrebno 5-15 minuta za potpunu sigurnosnu kopiju s kompresijom na modernom hardveru.

15.5 Gdje trebam pohraniti SQL Server Sigurnosne kopije?

Najbolja praksa: Slijedite pravilo 3-2-1:

  • 3 kopije vaših podataka
  • 2 različite vrste pohrane (npr. disk i traka/oblak)
  • 1 kopirati izvan lokacije

Preporučene lokacije:

  • Lokalni disk za brzi oporavak
  • Mrežna pohrana za centralizirano upravljanje
  • Pohrana u oblaku (Azure, AWS) za oporavak od katastrofe

15.6 Što je ekstenzija datoteke .bak?

Ekstenzija .bak je zadana ekstenzija datoteke za SQL Server sigurnosne kopije datoteka. To je konvencija, a ne zahtjev – SQL Server Sigurnosne kopije rade s bilo kojom ekstenzijom datoteke. Međutim, korištenje .bak datoteke sigurnosnih kopija lako je prepoznati i standardna je praksa u industriji.

15.7 Kako napraviti sigurnosnu kopiju SQL Server na mrežni disk?

Za sigurnosno kopiranje na mrežni pogon:

  1. Osigurajte SQL Server servisni račun ima dozvole za pisanje na mrežnoj mapi
  2. Koristite UNC putanju u naredbi za sigurnosno kopiranje: \\ServerName\ShareName\BackupFile.bak
  3. Testirajte povezivost prije zakazivanja automatskih sigurnosnih kopija
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO

15.8 Mogu li komprimirati SQL Server Sigurnosne kopije?

Da, SQL Server podržava izvornu kompresiju sigurnosnih kopija (Enterprise Edition ili Standard Edition počevši od SQL Server 2016 SP1). Kompresija obično smanjuje veličinu sigurnosne kopije za 50-70% i često smanjuje vrijeme izrade sigurnosne kopije smanjenjem ulazno/izlaznih operacija, iako povećava korištenje CPU-a.

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

16. Zaključak

16.1 ključna zaključka

Djelotvoran SQL Server Strategije sigurnosnog kopiranja štite vaše podatke i osiguravaju kontinuitet poslovanja. Zapamtite ove bitne točke:

  • Razumijevanje vrsta sigurnosnih kopija: Odaberite odgovarajuće vrste sigurnosnih kopija (potpuna, diferencijalna, dnevnik transakcija) na temelju vaših zahtjeva za oporavak
  • Odaberite odgovarajući model oporavka: Potpuni oporavak kritičnih podataka, jednostavan za razvojne baze podataka
  • Implementirajte raspored sigurnosnog kopiranja: Redovite potpune sigurnosne kopije u kombinaciji s diferencijalnim i log sigurnosnim kopijama minimiziraju gubitak podataka
  • Postupci vraćanja testa: Sigurnosne kopije su vrijedne samo ako se mogu uspješno vratiti
  • Automatizirajte i pratite: Koristiti SQL Server Agent, planovi održavanja i alati za praćenje
  • Sigurne sigurnosne kopije: Šifrirajte osjetljive podatke i kontrolirajte pristup datotekama sigurnosnih kopija
  • Pohranite kopije izvan lokacije: Zaštitite se od katastrofa na cijeloj web-lokaciji pomoću pohrane u oblaku ili udaljene pohrane
  • Sve dokumentirati: Vodite jasnu dokumentaciju postupaka sigurnosne kopije i oporavka

16.2 Sljedeći koraci i resursi

Kako biste poboljšali svoje SQL Server implementacija sigurnosne kopije:

  • Procijenite svoju trenutnu strategiju sigurnosnog kopiranja u odnosu na najbolje prakse
  • Izračunajte svoje RTO i RPO zahtjeve
  • Testiranje postupaka vraćanja na neprodukcijske sustave
  • Redovito pregledavajte i ažurirajte rasporede sigurnosnih kopija
  • Implementirajte automatizirano praćenje i upozoravanje
  • Obučite članove tima o postupcima vraćanja

Dodatna sredstva:

  • microsoft SQL Server Dokumentacija: Službene smjernice za sigurnosno kopiranje i vraćanje
  • SQL Server forumi zajednice za sigurnosne kopije: Dijelite iskustva i rješenja
  • Stručni certifikati: Microsoftov certifikat: Suradnik administratora baze podataka Azure

16.3 Preporučeni alati i rješenja

Na temelju različitih scenarija:

Male tvrtke:

  • Domorodac SQL Server sigurnosna kopija s rasporedom SQL Server Poslovi agenata
  • SQLBackupAndFTP za integraciju s oblakom
  • Azure sigurnosna kopija za SQL Server

Srednja poduzeća:

  • SQL Server Planovi održavanja
  • Alati trećih strana poput Redgate SQL Backup Pro
  • Veeam sigurnosna kopija za SQL Server

Velika poduzeća:

  • Quest LiteSpeed ​​za maksimalnu kompresiju
  • Commvault ili Veritas NetBackup za upravljanje sigurnosnim kopijama poduzeća
  • Grupe dostupnosti uvijek uključene za visoka dostupnost

SQL Server Sigurnosna kopija je temeljna za administraciju baze podataka. Pravilnim planiranjem, implementacijom i testiranjem možete osigurati da vaši podaci ostanu zaštićeni i da se mogu oporaviti kada je to potrebno. Počnite implementirati ove najbolje prakse već danas kako biste osigurali svoje SQL Server baza podataka.


O Autor:

Yuan Sheng je viši administrator baze podataka (DBA) s preko 10 godina iskustva u SQL Server okruženja i upravljanje bazama podataka poduzeća. Uspješno je riješio stotine scenarija oporavka baza podataka u financijskim uslugama, zdravstvu i proizvodnim organizacijama.

Yuan se specijalizirao za SQL Server oporavak baza podataka, rješenja za visoku dostupnost i optimizaciju performansi. Njegovo opsežno praktično iskustvo uključuje upravljanje bazama podataka od više terabajta, implementaciju grupa dostupnosti Always On i razvoj automatiziranih strategija sigurnosnog kopiranja i oporavka za poslovne sustave od kritične važnosti.

Svojim tehničkim znanjem i praktičnim pristupom, Yuan se usredotočuje na stvaranje sveobuhvatnih vodiča koji pomažu administratorima baza podataka i IT stručnjacima u rješavanju složenih SQL Server učinkovito rješava izazove. Ostaje u toku s najnovijim SQL Server izdanja i Microsoftove razvojne tehnologije baza podataka, redovito testirajući scenarije oporavka kako bi osigurao da njegove preporuke odražavaju najbolje prakse iz stvarnog svijeta.

Imate pitanja o SQL Server oporavak ili trebate dodatne upute za rješavanje problema s bazom podataka? Yuan pozdravlja povratne informacije i sugestije za poboljšanje ovih tehničkih resursa.

Podijeli sada: