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

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
- Lansirati SQL Server Studio za upravljanje
- Unesite naziv vašeg servera u Naziv poslužitelja polje
- Odaberite metodu autentifikacije
- Kliknite Connect
4.2.2 Odabir opcija baze podataka i sigurnosne kopije
- In Istraživač objekata, proširite Baze podataka čvor
- Desnom tipkom miša kliknite bazu podataka koju želite sigurnosno kopirati
- odabrati Zadaci -> Natrag Gore
- u Sigurnosna kopija baze podataka prozor, provjerite naziv baze podataka
- odabrati Full kao Vrsta sigurnosne kopije
4.2.3 Konfiguriranje odredišta sigurnosne kopije
- Pod Odredište, Kliknite ukloniti za brisanje zadane putanje (ako je potrebno)
- Kliknite dodati za određivanje nove lokacije sigurnosne kopije
- Unesite putanju i naziv datoteke pomoću .Jarac nastavak
- Kliknite OK potvrditi odredište
4.2.4 Advanced Backup Postavke
- Kliknite Opcije medija na lijevoj ploči
- 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
- Kliknite Opcije sigurnosne kopije na lijevoj ploči
- 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
4.2.5 Izrada sigurnosne kopije
- Pregledajte sve postavke u Sigurnosna kopija baze podataka prozor
- Kliknite OK za pokretanje procesa sigurnosne kopije
- Pričekajte da se sigurnosna kopija dovrši
- Poruka o uspjehu pojavljuje se kada se sigurnosna kopija završi
- 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.
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.
- Desnom tipkom miša kliknite bazu podataka u Istraživač objekata
- odabrati Zadaci -> Natrag Gore
- Odaberite Dnevnik transakcija kao vrsta sigurnosne kopije
- Konfigurirajte odredište i opcije prema potrebi
- Kliknite OK za izradu sigurnosne kopije dnevnika
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.
- Slijedite korake za stvaranje potpune sigurnosne kopije
- u Opcije sigurnosne kopije stranica
- Provjeri Sigurnosna kopija samo za kopiranje opcija
- Dovršite postupak sigurnosne kopije normalno
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:
- Otvoren Command Prompt or PowerShell
- Dođite na SQL Server direktorij alata (obično se dodaje u PATH tijekom instalacije)
- Izvršite naredbu za sigurnosno kopiranje baze podataka SQLCMD s odgovarajućim parametrima
- 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:
- Otvoren Command Prompt
- Provjerite je li OSQL dostupan u vašem SQL Server instalacija
- 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
- Otvoren SQL Server Studio za upravljanje i spojite se na svoj server
- In Istraživač objekata, desni klik Baze podataka
- odabrati Vrati bazu podataka
- u izvor odaberite Uređaj
- kliknite ... gumb za pregledavanje datoteka sigurnosnih kopija
- Kliknite dodati i idite do svoje .bak datoteke
- Odaberite datoteku sigurnosne kopije i kliknite OK
- u Odredište unesite naziv baze podataka
- Pregledajte skupove sigurnosnih kopija za vraćanje
- 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:
- Prvo, vratite punu sigurnosnu kopiju s NORECOVERY opcija
- 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:
- Vratite potpunu sigurnosnu kopiju pomoću NORECOVERY-ja
- Vrati diferencijalnu sigurnosnu kopiju pomoću NORECOVERY (ako je dostupno)
- Vratite sigurnosne kopije dnevnika transakcija po redu pomoću NORECOVERY-ja
- 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:
- Vraćanje sigurnosne kopije u privremenu bazu podataka
- 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:
- Vraćanje sigurnosnih kopija u testno okruženje
- Provjerite integritet i potpunost podataka
- Provjerite funkcionalnost aplikacije
- Vrijeme vraćanja dokumenta (potvrdite RTO)
- 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:
- Proširiti SQL Server Agent
u SSMS-u
- Desnom tipkom miša Posao i odaberite Novi posao
- Nazovite zadatak (npr. "Dnevna potpuna sigurnosna kopija")
- Dodaj Korak s T-SQL naredbama za sigurnosno kopiranje
- Napravite raspored za vrijeme izvršenja
- 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:
- Dođite na Upravljanje -> Planovi održavanja
- Kliknite desnom tipkom i odaberite Čarobnjak za plan održavanja
- Odaberite zadatke sigurnosne kopije za automatizaciju
- Konfigurirajte raspored i opcije sigurnosne kopije
- 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:
- Izradite Azure račun za pohranu
- stvoriti SQL Server vjerodajnica za Azure autentifikaciju
- 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:
- Start DataNumen SQL Recovery.
- Odaberite oštećenu datoteku sigurnosne kopije kao izvornu datoteku promjenom filtra na "Sve datoteke (*.*)":
- Po potrebi postavite izlaznu .MDF datoteku.
- Kliknite "Pokreni oporavak" i slijedite upute za oporavak baze podataka.
- Nakon procesa oporavka, nova baza podataka za oporavak će se pojaviti u SQL Server koji sadrži sve oporavljene podatke.
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:
- Desni klik na bazu podataka u Object Exploreru
- odabrati Izvješća -> Standardna izvješća
- 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:
- Osigurajte SQL Server servisni račun ima dozvole za pisanje na mrežnoj mapi
- Koristite UNC putanju u naredbi za sigurnosno kopiranje:
\\ServerName\ShareName\BackupFile.bak - 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.











