rezerva SQL Server baza podataka s našim kompletnim vodičem za 2025. godinu. Detaljne upute i najbolje prakse za sve nivoe vještina.
1. Uvod u SQL Server rezerva
1.1 Šta je SQL Server Sigurnosna kopija?
SQL Server Sigurnosna kopija je proces kreiranja 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ćavajući vam da vratite podatke ako dođe do kvarova hardvera, ljudskih grešaka ili katastrofa.
SQL Server Podrazumevano pohranjuje sigurnosne kopije u .bak datoteke, koje sadrže sve objekte baze podataka, uključujući tabele, 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 odbrane od gubitka podataka. Bez odgovarajućih sigurnosnih kopija, vaša organizacija rizikuje:
- Trajni gubitak podataka od kvarova ili oštećenja hardvera
- Produženo vrijeme neaktivnosti tokom 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 efikasnu strategiju pravljenja sigurnosnih kopija:
- Kvarovi hardvera: Padovi diska, kvarovi servera ili kvarovi sistema za pohranu podataka
- Ljudske greške: Slučajna brisanja, netačna ažuriranja ili odbačene tabele
- Problemi sa softverom: Greške u aplikacijama, oštećena ažuriranja ili padovi sistema
- Kršenja sigurnosti: Napadi ransomwarea, zlonamjerna brisanja ili neovlašteni pristup
- Prirodnih katastrofa: Požari, poplave ili nestanci struje koji utiču na centre podataka
2. razumijevanje SQL Server Vrste rezervnih 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 kompletnu kopiju cijele baze podataka, uključujući sve datoteke s podacima i dio dnevnika transakcija potrebnih za oporavak.
2.1.1 Kada koristiti potpunu sigurnosnu kopiju
Potpune sigurnosne kopije su idealne za:
- Uspostavljanje osnovne linije za ostale vrste sigurnosnih kopija
- Male do srednje baze podataka gdje je vrijeme izrade sigurnosnih kopija prihvatljivo
- Sedmični ili mjesečni rasporedi sigurnosnih kopija
- Baze podataka s rijetkim promjenama
2.1.2 Prednosti i ograničenja potpune sigurnosne kopije
prednosti:
- Najjednostavniji proces vraćanja – jedna datoteka sadrži sve
- Samostalno i nezavisno od drugih sigurnosnih kopija
- Najbrže vrijeme oporavka za potpunu restauraciju baze podataka
ograničenja:
- Zahtijeva značajan prostor za skladištenje
- Duže vrijeme pravljenja sigurnosnih kopija za velike baze podataka
- Veća potrošnja resursa tokom 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 funkcioniše diferencijalna sigurnosna kopija
Diferencijalne sigurnosne kopije prate modifikacije koristeći promijenjene ekstente. Prilikom vraćanja, SQL Server prvo primjenjuje posljednju potpunu sigurnosnu kopiju, a zatim primjenjuje most nedavna diferencijalna sigurnosna kopija.
2.2.2 Potpuna vs. diferencijalna sigurnosna kopija
| aspekt | Potpuna sigurnosna kopija | Differential Backup |
|---|---|---|
| veličina | Kompletna baza podataka | Samo promjene od posljednje potpune sigurnosne kopije |
| Vrijeme izrade sigurnosne kopije | Najduže | Brže od punog |
| Proces vraćanja | Vraćanje jedne datoteke | Zahtijeva puni + diferencijalni |
| Skladištenje je potrebno | Most prostor | Manje prostora u početku, raste s vremenom |
2.3 Sigurnosna kopija dnevnika transakcija
Sigurnosne kopije dnevnika transakcija bilježe sve transakcije od posljednje sigurnosne kopije dnevnika, omogućavajuć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 vam omogućavaju da vratite bazu podataka na bilo koji određeni trenutak unutar sigurnosne kopije dnevnika. Ovo je ključno za oporavak od slučajnih izmjena ili brisanja podataka.
Da biste izvršili oporavak u određenom trenutku, potrebno vam je:
- Posljednja potpuna sigurnosna kopija
- Most nedavna diferencijalna sigurnosna kopija (opciono)
- Sve sigurnosne kopije dnevnika transakcija, od potpune/diferencijalne sigurnosne kopije do vaše tardobiti vremena
2.4 Sigurnosna kopija zapisnika o završetku procesa
Sigurnosne kopije zapisa ... SQL Server Da biste sačuvali bazu podataka do njenog najnovijeg trenutka u vremenu, morate napraviti sigurnosnu kopiju repa njenog dnevnika transakcija. Sigurnosna kopija repnog dnevnika je posljednja sigurnosna kopija od interesa u planu oporavka baze podataka.

Bilješka: Nisu svi scenariji vraćanja potrebni za sigurnosnu kopiju zapisnika o završnoj fazi. Ne trebate je ako se tačka oporavka nalazi u ranijoj sigurnosnoj kopiji zapisnika. Sigurnosna kopija zapisnika o završnoj fazi također nije potrebna ako premještate ili zamjenjujete (prepisujete) bazu podataka i ne trebate je vratiti na određenu tačku nakon njenog premještanja.ost nedavna sigurnosna kopija.
2.4.1 Kada su potrebne sigurnosne kopije zapisnika
Sljedeći scenariji opisuju kada biste trebali napraviti sigurnosnu kopiju zapisnika o stanju podataka:
Obnova online baze podataka: Ako je baza podataka online i planirate izvršiti operaciju vraćanja na bazi podataka, počnite tako što ćete napraviti sigurnosnu kopiju kraja dnevnika. Da biste izbjegli grešku za online bazu podataka, morate koristiti opciju WITH NORECOVERY naredbe BACKUP Transact-SQL prilikom pravljenja sigurnosne kopije. SQL Server baze podataka.
Oporavak baze podataka van mreže: Ako je baza podataka van mreže i ne uspije se povezatitarAko vam je potrebno da vratite bazu podataka, prvo napravite sigurnosnu kopiju kraja dnevnika. Budući da se u ovom trenutku ne mogu izvršiti transakcije, korištenje opcije WITH NORECOVERY je opcionalno. NORECOVERY je u ovom scenariju efektivno isto što i samo kopija dnevnika transakcija.
Oštećena sigurnosna kopija baze podataka: Ako je baza podataka oštećena, pokušajte napraviti sigurnosnu kopiju repnog dnevnika koristeći opciju WITH CONTINUE_AFTER_ERROR u naredbi BACKUP. Na oštećenoj bazi podataka, sigurnosno kopiranje repnog dnevnika može uspjeti samo ako su datoteke dnevnika neoštećene, baza podataka je u stanju koje podržava sigurnosne kopije repnog dnevnika i ako baza podataka ne sadrži nikakve masovno zabilježene promjene. Ako se sigurnosna kopija repnog dnevnika ne može kreirati, sve transakcije izvršene nakon najnovijeg MS... SQL Server sigurnosne kopije baze podataka su lost.
2.4.2 Ključne opcije za sigurnosne kopije zapisnika
SA NORECOVERY-jem: Koristite WITH NORECOVERY ako pravite sigurnosnu kopiju dijela dnevnika online baze podataka koju planirate naknadno vratiti. NORECOVERY prebacuje bazu podataka van mreže. Također možete napraviti sigurnosnu kopiju SQL Server Završni zapisnik vanmrežne baze podataka. Ako želite da baza podataka ostane van mreže, koristite WITH NORECOVERY. Imajte na umu da će zapisnik biti skraćen osim ako ne navedete opciju COPY_ONLY ili NO_TRUNCATE.
SA NASTAVKOM_NAKON_GREŠKE: Koristite CONTINUE_AFTER_ERROR samo ako pravite sigurnosnu kopiju repa oštećene baze podataka. Kada pravite sigurnosnu kopiju repa dnevnika na oštećenoj bazi podataka, neki od metapodataka koji se obično snimaju u sigurnosne kopije dnevnika možda neće biti dostupni.
2.5 Sigurnosna kopija samo za kopiranje
Sigurnosne kopije samo za kopiranje kreiraju nezavisnu sigurnosnu kopiju bez utjecaja na normalan redoslijed sigurnosnog kopiranja. One ne remete diferencijalne lance sigurnosnog kopiranja ili kontinuitet dnevnika transakcija.
Koristite sigurnosne kopije samo za kopiranje za:
- Kreiranje 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 tardobiti određene datoteke baze podataka ili grupe datoteka umjesto cijele baze podataka. Ovaj pristup dobro funkcionira za vrlo velike baze podataka gdje pravljenje sigurnosnih kopija svega traje predugo.
Prednosti uključuju:
- Brže operacije pravljenja sigurnosnih kopija za velike baze podataka
- Paralelno pravljenje sigurnosnih kopija više grupa datoteka
- Opcije granularnog oporavka
- Optimizovani rasporedi pravljenja sigurnosnih kopija 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. Ovo smanjuje veličinu i vrijeme sigurnosne kopije za baze podataka sa statičkim historijskim 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 tačke, oslobađajući prostor bez potrebe za sigurnosnim kopijama dnevnika.
Najbolji 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 ponovo pokrenuti
- Baze podataka samo za čitanje ili izvještavanje
3.1.2 Dostupne opcije sigurnosne kopije
Jednostavan oporavak podržava:
- Potpune 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 Karakteristike i prednosti
Potpuni oporavak bilježi sve transakcije i čuva zapise dnevnika dok ih ne napravite sigurnosnu kopiju. Ovo omogućava potpuni oporavak podataka do bilo kojeg trenutka unutar sigurnosne kopije dnevnika transakcija.
Ključne prednosti:
- Minimalni potencijal za gubitak 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 redovno praviti sigurnosne kopije dnevnika transakcija kako biste:
- Spriječite da dnevnik transakcija popuni prostor na disku
- Održavajte kontinuirani lanac sigurnosnih kopija
- Omogućite oporavak u trenutku
- Kontrola rasta datoteke dnevnika
Tipičan raspored pravljenja sigurnosnih kopija: potpune sigurnosne kopije sedmično, diferencijalne sigurnosne kopije dnevno, sigurnosne kopije dnevnika svakih 15-30 minuta.
3.3 Model oporavka sa masovnim evidentiranjem
3.3.1 Kada koristiti masovno evidentiranje
Oporavak sa masovnim evidentiranjem minimalno evidentira masovne operacije poput BULK INSERT, SELECT INTO i ponovne izgradnje indeksa, a istovremeno održava potpuno evidentiranje redovnih transakcija.
Koristite oporavak sa masovnim zapisivanjem kada:
- Izvođenje velikih operacija masovnog uvoza
- Rekonstrukcija indeksa na velikim tabelama
- Izvršavanje operacija koje imaju koristi od minimalnog evidentiranja
- Potreba za smanjenjem veličine dnevnika transakcija tokom određenih operacija
3.3.2 Ograničenja i razmatranja
Važna ograničenja:
- Vraćanje na određeni trenutak nije dostupno tokom masovnih operacija
- Sigurnosne kopije dnevnika su veće kada se izvode masovne operacije
- Mora se prebacivati između potpunog i skupnog evidentiranja po potrebi
3.4 Odabir pravog modela oporavka
Odaberite model oporavka na osnovu poslovnih zahtjeva:
| Model oporavka | Rizik gubitka podataka | Point-in-Time Recovery | Best For |
|---|---|---|---|
| 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 |
| Grupno evidentirano | Promjene od posljednje sigurnosne kopije dnevnika | Ograničeno tokom masovnih operacija | temporarkoristiti tokom masovnih operacija |
4. rezerva SQL Server Baza podataka pomoću SSMS-a
4.1 Preduslovi i priprema
Prije izrade sigurnosne kopije vašeg SQL Server baze podataka, osigurajte:
- Imate odgovarajuća ovlaštenja (db_owner ili ovlaštenje za REZERVNU BAZU PODATAKA)
- Dovoljno prostora na disku za datoteku sigurnosne kopije
- SQL Server Management Studio (SSMS) je instaliran
- Mrežne putanje dostupne 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 da biste kreirali potpunu sigurnosnu kopiju vašeg SQL Server baza podataka pomoću SSMS-a.
4.2.1 Otvaranje SQL Server Management Studio
- lansiranje SQL Server Management Studio
- Unesite naziv vašeg servera u Ime servera Polje
- Odaberite metodu autentifikacije
- kliknite spojiti
4.2.2 Odabir opcija baze podataka i sigurnosne kopije
- In Object Explorer, proširite baze podataka Čvor
- Desnim klikom miša kliknite na bazu podataka koju želite sigurnosno kopirati
- izabrati zadaci -> Back Up
- U Napravite sigurnosnu kopiju baze podataka prozor, provjerite naziv baze podataka
- izabrati Full kao Vrsta rezervne kopije
4.2.3 Konfigurisanje odredišta sigurnosne kopije
- pod odredište, kliknite ukloniti za brisanje zadane putanje (ako je potrebno)
- kliknite dodati da biste odredili novu lokaciju sigurnosne kopije
- Unesite putanju do datoteke i naziv pomoću .bak produžetak
- kliknite OK da potvrdite odredište
4.2.4 Advanced Backup Postavke
- kliknite Opcije medija u levom panelu
- 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 Backup Options u levom panelu
- Konfigurišite opcionalne postavke:
- Komprimiraj sigurnosnu kopiju – Smanjuje veličinu datoteke sigurnosne kopije
- Šifrirajte sigurnosnu kopiju – Štiti osjetljive podatke
- Provjerite sigurnosnu kopiju kada završite – Provjerava integritet sigurnosne kopije
4.2.5 Izvršavanje sigurnosne kopije
- Pregledajte sve postavke u Napravite sigurnosnu kopiju baze podataka prozor
- kliknite OK do starproces pravljenja sigurnosnih kopija
- Sačekajte da se sigurnosna kopija završi
- Poruka o uspjehu pojavljuje se kada se sigurnosna kopija završi
- kliknite OK da biste zatvorili dijalog za potvrdu
4.3 Kreiranje diferencijalne sigurnosne kopije pomoću SSMS-a
Da biste kreirali diferencijalnu sigurnosnu kopiju, slijedite iste korake kao i za potpunu sigurnosnu kopiju, ali odaberite Diferencijal kao tip sigurnosne kopije u koraku 4.2.2. Imajte na umu da diferencijalne sigurnosne kopije zahtijevaju prethodnu potpunu sigurnosnu kopiju kao osnovu.
4.4 Kreiranje 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.
- Kliknite desnim tasterom miša na bazu podataka u Object Explorer
- izabrati zadaci -> Back Up
- Izabrati Dnevnik transakcija kao tip rezervne kopije
- Konfigurišite odredište i opcije po potrebi
- kliknite OK za kreiranje sigurnosne kopije dnevnika
4.5 Kreiranje sigurnosne kopije samo za kopiranje pomoću SSMS-a
Sigurnosne kopije samo za kopiranje ne ometaju vaš uobičajeni redoslijed izrade sigurnosnih kopija.
- Slijedite korake za kreiranje potpune sigurnosne kopije
- U Backup Options Strana
- Provjerite Sigurnosna kopija samo za kopiranje opcija
- Završite proces sigurnosne kopije normalno
5. rezerva SQL Server Baza podataka pomoću T-SQL-a
5.1 Osnovna sintaksa REZERVNE BAZE PODATAKA
T-SQL naredba BACKUP DATABASE pruža 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
Napravite 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 – Kreira novi skup sigurnosnih kopija
- INIT – Prepisuje postojeću datoteku sigurnosne kopije
- NAZIV – Dodjeljuje naziv skupa sigurnosnih kopija
- OPIS – Dodaje opisni tekst
- STATUSI – Prikazuje napredak svakih 10%
5.3 Diferencijalne T-SQL naredbe za pravljenje sigurnosnih kopija
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 T-SQL sigurnosne kopije
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 sa šifriranjem
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 šifriranje):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Zrcalne sigurnosne kopije
Napravite 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 T-SQL sigurnosne kopije
Kompletan 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 cmdlets za izradu sigurnosnih kopija
SQL Server PowerShell modul pruža cmdlets za automatizaciju sigurnosnih kopija:
- Sigurnosna kopija SQL baze podataka – Kreira sigurnosne kopije baze podataka
- Restore-SQLDatabase – Vraća sigurnosne kopije baze podataka
- Get-SqlDatabase – Preuzima informacije iz baze podataka
Uvezite SQL Server modul:
Import-Module SqlServer
6.2 Kreiranje skripti za pravljenje sigurnosnih kopija pomoću PowerShella
Osnovna PowerShell naredba za sigurnosnu kopiju:
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
Kreirajte automatsku skriptu za pravljenje sigurnosnih kopija 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 komandne linije
SQL Server pruža uslužne programe komandne linije koji vam omogućavaju pravljenje sigurnosnih kopija SQL Server baza podataka bez korištenja SSMS-a ili grafičkih interfejsa. Ovi alati su neophodni za scenarije automatizacije, skriptiranja i udaljene administracije.
7.1 Korištenje SQLCMD sigurnosne kopije baze podataka
SQLCMD je moderni uslužni program komandne linije za SQL Server koji je zamijenio OSQL. Pruža poboljšanu funkcionalnost i preporučeni je alat za izvršavanje T-SQL naredbi iz komandne linije.
7.1.1 Osnovna SQLCMD sintaksa
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 Ulogovati se
7.1.2 Kreiranje sigurnosne kopije pomoću SQLCMD-a
Za rezervnu kopiju SQL Server Koristeći SQLCMD, slijedite ove korake:
- otvoreno Komandna linija or PowerShell
- Idite na SQL Server direktorij alata (obično se dodaje u PATH tokom instalacije)
- Izvršite SQLCMD naredbu za pravljenje rezervne kopije baze podataka s odgovarajućim parametrima
- Provjerite je li sigurnosna kopija datoteke uspješno kreirana
Primjer naredbe za potpunu sigurnosnu kopiju korištenjem Windows autentifikacije:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Primjer korištenja SQL Server Autentifikacija:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Kreiranje 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"
Kreiranje 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 Replikacija
Prilikom pravljenja sigurnosnih kopija baza podataka izdavača u SQL Server Replikacija, koristite opciju WITH REPLICATION da 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 sveobuhvatni vodič.
7.2 Korištenje OSQL sigurnosne kopije baze podataka
OSQL je stari uslužni program komandne linije za SQL ServerIako Microsoft preporučuje korištenje SQLCMD-a, OSQL ostaje dostupan radi unatrag kompatibilnosti sa starijim skriptama i sistemima.
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 za prijavu
7.2.2 Kreiranje sigurnosne kopije pomoću OSQL-a
Za izvođenje operacija sigurnosne kopije OSQL baze podataka:
- otvoreno Komandna linija
- Provjerite je li OSQL dostupan u vašem SQL Server instalacija
- Izvršite OSQL naredbu za pravljenje rezervne kopije
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 SQL Server Uključuje izvorne mogućnosti sigurnosnog kopiranja, alati trećih strana nude poboljšane funkcije, automatizaciju i upravljanje na nivou preduzeća za organizacije sa složenim zahtjevima. Ova rješenja pružaju naprednu kompresiju, centralizirano upravljanje i pojednostavljene tokove 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 pravljenje sigurnosnih kopija SQL Server baze podataka sa minimalnim uticajem na produkcijske sisteme.
Ključne značajke:
- Obrada svjesna aplikacije za SQL Server konzistentnost sigurnosnih kopija
- Sigurnosna kopija i upravljanje dnevnikom transakcija
- Oporavak u određenom trenutku s detaljnim opcijama vraćanja
- Integracija sa Veeam Backup & Replication za objedinjenu zaštitu podataka
- Automatska verifikacija i validacija sigurnosnih kopija
- Podrška za grupe dostupnosti Always On
- Nivo virtuelne mašine i nivo aplikacije SQL Server rezervne opcije
8.2 Barracuda sigurnosna kopija za SQL Server
Barracuda pruža cloud-integrirana rješenja za sigurnosno kopiranje s pojednostavljenim upravljanjem za Microsoft SQL Server operacije izrade sigurnosnih kopija baze podataka.
Ključne značajke:
- automatizovan SQL Server zakazivanje sigurnosnih kopija
- Ugrađena replikacija u oblaku na Barracuda Cloud Storage
- Globalna deduplikacija i kompresija
- Mogućnosti trenutnog lokalnog oporavka
- Web 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 pravljenje sigurnosnih kopija na nivou preduzeća 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 nivou preduzeća za hiljade SQL Server instance
- Napredni algoritmi za deduplikaciju i kompresiju
- Fleksibilne politike i zakazivanje sigurnosnih kopija
- Podrška za sve SQL Server modeli oporavka
- Integracija sa bibliotekom trakarari pohrana u oblaku
- Granularni oporavak baza podataka, tabela i objekata
- Podrška za više platformi (Windows, Linux) SQL Server)
- Automatizirano upravljanje životnim ciklusom sigurnosnih kopija
8.4 Commvault Kompletna sigurnosna kopija i oporavak za SQL Server
Commvault pruža inteligentno upravljanje podacima sa sveobuhvatnim sigurnosnim kopiranjem SQL Server mogućnosti i napredne funkcije 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
- Live Sync za gotovo nultu RPO zaštitu
- Podrška za SQL Server lokalne, cloud i hibridne implementacije
- IntelliSnap za sigurnosne kopije zasnovane na snimcima podataka
- Sveobuhvatne mogućnosti usklađenosti i elektronskog otkrivanja dokumenata
8.5 Kohezivnost DataProtect za SQL Server
Cohesity pruža upravljanje podacima sljedeće generacije s hiperkonvergentnom infrastrukturom za moderno SQL Server operacije rezervnih kopija.
Ključne značajke:
- Web-skala arhitektura za pojednostavljeno upravljanje
- Mogućnosti trenutnog masovnog vraćanja za SQL Server Baze podataka
- Snimci konzistentne aplikacije
- Globalna deduplikacija na svim sigurnosnim kopijama
- Nativna integracija u oblaku (AWS, Azure, Google Cloud)
- Ugrađene kontrolne ploče za analitiku i praćenje
- Mogućnosti kloniranja i testiranja baze podataka
- Zaštita od ransomwarea s nepromjenjivim snimcima
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 podataka s vrhunskom kompresijom i performansama.
Ključne značajke:
- Vodeći omjeri kompresije u industriji (do 95%)
- Otpornost mreže za pravljenje sigurnosnih kopija SQL Server preko nepouzdanih veza
- Šifriranje sigurnosnih kopija s 256-bitnim AES-om
- Verifikacija i provjera integriteta sigurnosne kopije
- Detaljna historija i izvještavanje o sigurnosnim kopijama
- Integracija sa SQL Server Management Studio
- Podrška za sigurnosno kopiranje na mrežne lokacije i pohranu u oblaku
- Paralelno pravljenje sigurnosnih kopija i vraćanje podataka za brže operacije
9. Kako vratiti SQL Server baza podataka
9.1 Razumijevanje procesa vraćanja
Obnavljanje a SQL Server Baza podataka ponovo kreira bazu podataka iz datoteka sigurnosnih kopija. Proces vraćanja čita datoteku sigurnosne kopije i rekonstruiše bazu podataka u stanje sigurnosne kopije.
Važna razmatranja:
- Vraćanje prepisuje postojeću bazu podataka
- Korisnici su isključeni tokom vraćanja
- Vraćanje mora slijediti redoslijed sigurnosne kopije (puna, zatim diferencijalna, pa zapisnici)
- Baza podataka nije dostupna tokom 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
- otvoreno SQL Server Management Studio i povežite se sa svojim serverom
- In Object Explorer, desni klik baze podataka
- izabrati Vrati bazu podataka
- U izvor odaberite Uređaj
- kliknite ... dugme za pregledavanje datoteka sigurnosnih kopija
- kliknite dodati i idite do vaše .bak datoteke
- Odaberite datoteku sigurnosne kopije i kliknite OK
- U odredište unesite naziv baze podataka
- Pregledajte setove sigurnosnih kopija za vraćanje
- kliknite OK do starvraćanje
9.2.2 Opcije i postavke vraćanja
kliknite mogućnosti u lijevom panelu za konfiguraciju:
- Prepiši postojeću bazu podataka (SA ZAMJENOM) – Omogućava vraćanje preko postojeće baze podataka
- Sačuvaj stanja replikacije (SA KEEP_REPLICATION) – Zadrži SQL Server replikacija stanje
- Ograniči pristup obnovljenoj bazi podataka (SA OGRANIČENIM_KORISNIČKIM KORISNIČEM) – Granice post-vraćanje pristupa
- Stanje oporavka – Izaberite između OBNAVLJANJA SA OPORAVKOM ili OPORAVKA BEZ OPORAVKA
9.3 Vraćanje diferencijalne sigurnosne kopije
Diferencijalno vraćanje zahtijeva i potpune i diferencijalne sigurnosne kopije:
- Prvo, vratite potpunu sigurnosnu kopiju pomoću NORECOVERY opcija
- Zatim vratite diferencijalnu sigurnosnu kopiju sa OPORAVAK opcija
T-SQL primjer:
-- 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 redoslijedom:
- Vratite potpunu sigurnosnu kopiju pomoću NORECOVERY-ja
- Vratite diferencijalnu sigurnosnu kopiju pomoću NORECOVERY (ako je dostupno)
- Vratite sigurnosne kopije dnevnika transakcija po redu pomoću NORECOVERY-a
- Vratite konačnu sigurnosnu kopiju dnevnika pomoću opcije 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 Obnavljanje u određenom trenutku
Vratite bazu podataka na određeni trenutak koristeći opciju 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 tabele
SQL Server ne podržava direktno vraćanje podataka na nivo tabele iz sigurnosnih kopija datoteka. Međutim, ipak postoje neka rješenja.
9.6.1 Metoda 1: Snimci baze podataka (najbolje za prevenciju)
Snimci baze podataka pružaju najbrži način za vraćanje podataka tabele ako su kreirani prije nego što se problem pojavi. Snimak je statički prikaz baze podataka koji je samo za čitanje u određenom trenutku.
Kreiranje snimka 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 tabele iz snimka 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: Snimci baze podataka dostupni su u SQL Server Enterprise izdanje (sve verzije) i Standard izdanjatarting with SQL Server SP1 iz 2016.
9.6.2 Metod 2: Vraćanje na temporary Baza podataka (Most Uobičajeno)
Ova metoda funkcioniše kada je potrebno oporaviti podatke tabele nakon što se pojavi problem, a ne postoji snimak:
- Vrati sigurnosnu kopiju u temporary baza podataka
- Kopirajte podatke tabele iz temparary 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, minimizirajući vrijeme zastoja... tarDobijanje samo oštećenih stranica. Ova funkcija je dostupna samo u modelima potpunog ili masovnog oporavka i zahtijeva neprekinuti lanac sigurnosnih kopija dnevnika transakcija od sigurnosne kopije stranice do trenutne datoteke dnevnika.
Da biste izvršili 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 stranica nije dostupno u okviru jednostavnog modela oporavka. Ne možete vratiti stranice iz sistemskih tabela ili metapodataka primarne grupe datoteka.
9.8 Postepeno vraćanje
Djelomično vraćanje (Parcijalno vraćanje) vraća bazu podataka u fazama na nivou grupe datoteka, tj.tarpovezivanje s primarnom grupom datoteka. Ovo odmah dovodi kritične podatke na mrežu, dok se manje kritični podaci vraćaju u pozadini. U okviru jednostavnog modela 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 okviru modela potpunog ili masovnog oporavka, svaka grupa datoteka može se nezavisno dovesti na mrežu nakon primjene dnevnika transakcija.
| Model oporavka | Ponašanje vraćanja po dijelovima |
|---|---|
| jednostavan | Primarna i sve grupe datoteka za čitanje i pisanje vraćene su zajedno. Grupe datoteka samo za čitanje vraćene su odvojeno. |
| Potpuno/Grupno evidentirano | Svaka grupa datoteka se nezavisno vraća na nivou grupe datoteka. |
Primjer modela potpunog oporavka – prvo vratite primarnu grupu datoteka da biste bazu podataka postavili na mrežu, 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
Kompletan skript za vraćanje s premještanjem datoteka:
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 da li je skup sigurnosnih kopija kompletan i čitljiv bez stvarnog vraćanja baze podataka u prvobitno stanje.
10. SQL Server Najbolje prakse za izradu sigurnosnih kopija
10.1 Razvoj strategije pravljenja 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 frekvencije: Koliko često se podaci mijenjaju?
- Veličina baze podataka: Koliko je velika baza podataka?
- Dostupni resursi: Koji prostor za pohranu i propusni opseg su dostupni?
- Potrebe za usklađenošću: Kojih propisa morate slijediti?
10.1.2 Definiranje RTO-a i RPO-a
Ciljano vrijeme oporavka (RTO): Maksimalno prihvatljivo vrijeme zastoja. Određuje koliko brzo je potrebno obnoviti operacije.
Cilj tačke oporavka (RPO): Maksimalno prihvatljiv gubitak podataka. Određuje učestalost pravljenja sigurnosnih kopija.
| Zahtjev za RTO/RPO | Preporučena strategija sigurnosne kopije |
|---|---|
| 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: Blizu nule, RTO: Minute | Grupe dostupnosti uvijek uključene + česte sigurnosne kopije logova |
| RPO: Dani, RTO: Dani | Sedmični puni iznos + dnevna razlika |
10.2 Kreiranje rasporeda sigurnosne kopije
10.2.1 Preporuke za učestalost
Tipičan raspored pravljenja sigurnosnih kopija za produkcijske baze podataka:
- Potpune sigurnosne kopije: Sedmično (nedjeljom navečer tokom niske aktivnosti)
- Diferencijalne sigurnosne kopije: Svakodnevno (svake noći)
- Sigurnosne kopije dnevnika transakcija: Svakih 15-30 minuta tokom radnog vremena
- Sigurnosne kopije samo za kopiranje: Po potrebi za testiranje ili razvoj
10.2.2 Balansiranje performansi i zaštite
Prilikom planiranja uzmite u obzir ove faktore:
- Van vršnih sati: Pokrenite potpune sigurnosne kopije tokom perioda niske aktivnosti
- Uticaj resursa: Kompresija smanjuje I/O, ali povećava korištenje CPU-a
- Mrežni propusni opseg: Zakažite sigurnosne kopije mreže kada je promet nizak
- Prozori za sigurnosne kopije: Osigurajte da sigurnosne kopije budu dovršene prije radnog vremena
10.3 Najbolje prakse za pohranu sigurnosnih kopija
10.3.1 Skladištenje na licu mjesta u odnosu na skladištenje izvan lokacije
Sigurnosne kopije na lokaciji:
- Brže vrijeme izrade sigurnosnih kopija i vraćanja podataka
- Donji cost za pristup visokoj frekvenciji
- Ranjiv na lokalne katastrofe
- Najbolje za scenarije brzog oporavka
Sigurnosne kopije van lokacije:
- Zaštita od katastrofa specifičnih za lokaciju
- Usklađenost sa zahtjevima geografske redundantnosti
- Sporije vrijeme oporavka
- Neophodno za oporavak od katastrofe
10.3.2 Opcije sigurnosne kopije u oblaku
Prednosti skladištenja u oblaku:
- Azure Blob pohrana: domaći SQL Server integracija, cost-efikasan za rijedak pristup
- Amazon S3: Visoko izdržljivi, fleksibilni slojevi za odlaganje
- Google Cloud Storage: Konkurentne cijene, globalna dostupnost
10.3.3 Politike čuvanja sigurnosnih kopija
Politika čuvanja uzoraka:
- Čuvajte dnevne sigurnosne kopije 7 dana
- Čuvajte sedmične sigurnosne kopije 4 sedmice
- Čuvajte mjesečne sigurnosne kopije 12 mjeseci
- Čuvajte godišnje sigurnosne kopije 7 godina (usklađenost)
10.4 Kompresija i enkripcija sigurnosnih kopija
Prednosti kompresije:
- Smanjuje veličinu sigurnosne kopije datoteke za 50-70%
- Smanjuje vrijeme izrade sigurnosnih kopija
- Smanjuje prostor za odlaganje costs
- 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
- Dokumentujte ključeve za šifriranje i pohranite ih odvojeno
10.5 Testiranje i provjera sigurnosnih kopija
10.5.1 Redovno testiranje vraćanja
Procedure testiranja vraćanja podataka kvartalno ili mjesečno:
- Vratite sigurnosne kopije u testno okruženje
- Provjerite integritet i potpunost podataka
- Provjerite funkcionalnost aplikacije
- Vrijeme vraćanja dokumenta (validacija RTO-a)
- Identifikujte i riješite sve probleme
10.5.2 Korištenje RESTORE VERIFYONLY
Automatizirajte validaciju sigurnosnih kopija:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Pokrenite verifikaciju odmah nakon završetka sigurnosne kopije ili kao dio planiranog održavanja.
10.6 Automatizacija i praćenje sigurnosnih kopija
10.6.1 SQL Server Poslovi agenta
Kreirajte automatske zadatke sigurnosne kopije:
- Proširiti SQL Server agent
u SSMS-u
- Desni klik Posao i izaberite Novi posao
- Dajte naziv zadatku (npr. „Dnevna potpuna sigurnosna kopija“)
- Dodajte Korak s T-SQL naredbama za sigurnosno kopiranje
- Stvoriti raspored za vrijeme izvršenja
- konfigurisati Obavijesti za uspjeh/neuspjeh
10.6.2 Planovi održavanja
SQL Server Planovi održavanja pružaju vizualni interfejs za automatizaciju izrade sigurnosnih kopija:
- Idite do upravljanje -> Planovi održavanja
- Kliknite desnim tasterom miša i izaberite Čarobnjak za plan održavanja
- Odaberite zadatke sigurnosne kopije za automatizaciju
- Konfigurišite raspored i opcije sigurnosne kopije
- Postavljanje izvještavanja i evidentiranja
10.6.3 Upozorenja i obavještenja o sigurnosnim kopijama
Konfigurišite obavještenja putem e-pošte:
- Postavite poštu baze podataka u SQL Server
- Kreirajte upozorenja za greške u izradi sigurnosnih kopija
- Praćenje historije zadataka sigurnosne kopije
- Pošaljite sažetke izvještaja administratorima
10.7 Dokumentacija i planiranje oporavka od katastrofe
Održavanje sveobuhvatne dokumentacije:
- Raspored sigurnosnih kopija: Kada i šta se sigurnosno kopira
- Pravila zadržavanja podataka: Koliko dugo se čuvaju sigurnosne kopije
- Lokacije za skladištenje: Gdje se pohranjuju sigurnosne kopije
- Procedure vraćanja: Detaljne upute za oporavak
- Kontakt informacije: Ključno osoblje i dobavljači
- Rezultati testa oporavka: Dokumentovani rezultati testiranja
11. Napredno SQL Server Scenariji rezervnih kopija
11.1 Pravljenje sigurnosnih kopija vrlo velikih baza podataka (VLDB)
11.1.1 Strategije za datoteke i grupe datoteka
Za baze podataka koje prelaze nekoliko stotina gigabajta:
- Odvojite podatke samo za čitanje i podatke za čitanje i pisanje u različite grupe datoteka
- Redovno pravite sigurnosne kopije grupa datoteka koje su samo za čitanje
- Fokusirajte česte sigurnosne kopije aktivnih grupa datoteka
- Koristite sigurnosne kopije na nivou datoteka za detaljnu 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 VLDB sigurnosne kopije:
- Prugaste sigurnosne kopije: Istovremeno pisanje u više datoteka
- Kompresija: Smanjite zahtjeve za ulazno/izlaznim operacijama i pohranom podataka
- Više uređaja za pravljenje sigurnosnih kopija: Paralelizacija operacija sigurnosne kopije
- Brza pohrana: Koristite SSD diskove za pripremu sigurnosnih kopija
- Broj međuspremnika: Povećaj opciju BUFFERCOUNT
- Maksimalna veličina transfera: 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 distribuiraju opterećenje sigurnosnih kopija po replikama:
- Konfigurišite 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:
- Redovno pravite sigurnosnu kopiju glavne baze podataka
- Sigurnosne kopije dnevnika transakcija su neophodne za zrcaljenje
- Mirror baza podataka je u stanju OBNAVLJANJA (ne može se direktno napraviti sigurnosna kopija)
- Razmislite o pravljenju sigurnosne kopije mirror-a nakon prebacivanja na drugi sistem
11.4 Sigurnosna kopija u Azure Blob Storage
SQL Server može se napraviti direktna sigurnosna kopija u Azure Blob Storage:
- Kreiraj Azure Storage račun
- stvoriti SQL Server vjerodajnice 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 pravljenja sigurnosnih kopija na URL:
- Neograničen kapacitet pohrane u oblaku
- Geografska redundancija se automatski obrađuje
- Plaćajući model cijena
- 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 radi bržeg ulazno/izlaznog procesa:
-- 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: Sve stripe datoteke su potrebne za vraćanje. Nedostatak bilo koje datoteke čini sigurnosnu kopiju neupotrebljivom.
12. Otkrivanje problema SQL Server Problemi sa sigurnosnom kopijom
12.1 Uobičajene greške pri izradi sigurnosnih kopija i rješenja
Greška: „Greška operativnog sistema 5: Pristup je odbijen“
- Uzrok: SQL Server servisni račun nema dozvole
- rješenje: Dodijeli dozvole za pisanje za SQL Server servisni račun u mapi sigurnosnih kopija
Greška: „Nije moguće otvoriti uređaj za sigurnosnu kopiju… Greška uređaja ili uređaj nije na mreži“
- Uzrok: Nevažeća putanja ili nedostupan mrežni udio
- rješenje: Provjerite postoji li putanja, provjerite mrežnu povezanost 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
Greška: „Baza podataka se koristi. Bazu podataka koriste drugi korisnici.“
- Uzrok: Aktivne veze tokom vraćanja
- rješenje: Koristite opciju SA ZAMJENOM ili prvo isključite korisnike
12.2 Problemi s performansama sigurnosne kopije
Dijagnosticiranje sporih sigurnosnih kopija:
- Provjerite performanse diska u/izlazom pomoću Performance Monitor
- Pratite napredak sigurnosne kopije pomoću opcije STATS
- pregled SQL Server dnevnik greš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 datoteke za 50-70%
- Arhivirajte na jeftinije mjesto za pohranu: Premjestite stare sigurnosne kopije u arhivski prostor
- Praćenje prostora na disku: Postavite upozorenja za malo prostora na disku
- Procijenjena veličina sigurnosne kopije: Izračunajte očekivanu veličinu prije pravljenja sigurnosne kopije
Procijenjena veličina sigurnosne kopije:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Problemi s dozvolama i pristupom
Potrebna odobrenja za sigurnosne kopije:
- REZERVNA KOPIJA BAZE PODATAKA dozvolu
- db_backupoperator članstvo u ulogama
- sysadmin uloga servera (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:
Provjeri 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 koristi opciju CHECKSUM tokom pravljenja sigurnosne kopije
- Odmah provjerite sigurnosne kopije nakon kreiranja
- Redovno testiranje vraća podatke
- Čuvajte sigurnosne kopije na pouzdanom mjestu za 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, ispod:
- Start DataNumen SQL Recovery.
- Odaberite oštećenu datoteku sigurnosne kopije kao izvornu datoteku promjenom filtera na "Sve datoteke (*.*)":
- Po potrebi postavite izlaznu .MDF datoteku.
- Kliknite na „Star"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 sistema datoteka: Ograničite pristup samo ovlaštenim administratorima
- Sigurnost mreže: Koristite sigurne protokole za mrežne sigurnosne kopije
- Fizička sigurnost: Čuvajte sigurnosne kopije medija na sigurnim lokacijama
- Zapisivanje pristupa: Pristup datotekama sigurnosnih kopija revizije
13.2 Opcije šifriranja
SQL Server podržava transparentno šifriranje sigurnosnih kopija:
Kreiraj 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 se ne mogu 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 neophodnim računima
- Koristite odvojene račune za operacije sigurnosne kopije i vraćanja podataka
- Izbjegavajte korištenje SA računa za sigurnosne kopije
- Redovno provjeravajte dozvole za sigurnosne kopije
- Uklonite dozvole kada više nisu potrebne
13.4 Razmatranja usklađenosti
Riješite regulatorne zahtjeve:
- GDPR: Šifrirajte sigurnosne kopije koje sadrže lične podatke, implementirajte politike zadržavanja
- HIPAA: Šifrirajte zaštićene zdravstvene podatke u sigurnosnim kopijama, kontrolišite pristup, održavajte evidenciju revizije
- PCI DSS: Šifrirajte sigurnosne kopije podataka korisnika kartice, osigurajte sigurno pohranjivanje sigurnosnih kopija
- SOX: Održavanje integriteta sigurnosnih kopija, politike čuvanja dokumenata
14. Praćenje i održavanje operacija pravljenja sigurnosnih kopija
14.1 Praćenje historije sigurnosnih kopija
SQL Server pohranjuje historiju 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šćenje SQL Server Izvještaji
SQL Server Management Studio uključuje ugrađene izvještaje o sigurnosnim kopijama:
- Desni klik na bazu podataka u Object Exploreru
- izabrati Izvještaji -> Standardni izvještaji
- Izaberite između dostupnih izvještaja:
- Događaji sigurnosne kopije i vraćanja
- Sve sigurnosne kopije
- Status slanja zapisnika transakcija
14.3 Alati za praćenje trećih strana
Rješenja za komercijalni monitoring:
- SQL Sentry: Sveobuhvatno praćenje i upozoravanje
- Redgate SQL monitor: Praćenje i dijagnostika u realnom vremenuostics
- Analizator performansi baze podataka SolarWinds: Praćenje performansi i sigurnosnih kopija
- Idera SQL dijagnostikaostic menadžer: Validacija i obavještavanje o sigurnosnim kopijama
14.4 Provjere ispravnosti sigurnosnih kopija
Kreirajte proceduru za provjeru 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 praviti sigurnosne kopije SQL Server?
Učestalost pravljenja sigurnosnih kopija zavisi od vašeg cilja tačke oporavka (RPO):
- Kritične produkcijske baze podataka: Puna sedmica, diferencijal dnevno, zapis svakih 15-30 minuta
- Standardne produkcijske baze podataka: Puna sedmica, diferencijal dnevno, zapis svakih 1-2 sata
- Razvojne baze podataka: Puni dnevni ili sedmični
- 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 zahtijevaju osnovnu potpunu sigurnosnu kopiju za vraćanje podataka.
15.3 Mogu li napraviti sigurnosnu kopiju SQL Server Dok traje?
Da, SQL Server podržava online sigurnosne kopije. Korisnici mogu nastaviti raditi tokom operacija sigurnosnog kopiranja. SQL Server koristi svoj dnevnik transakcija za održavanje konzistentnosti, osiguravajući da su sigurnosne kopije validne čak i uz istovremene 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 duže
- Vrsta sigurnosne kopije: Potpune sigurnosne kopije traju najduže
- Kompresija: Može povećati vrijeme rada procesora, ali smanjiti ukupno trajanje
- Brzina skladištenja: SSD diskovi znatno brži od HDD diskova
- Opterećenje servera: 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 skladištiti 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 van 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 Šta 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 sa bilo kojom ekstenzijom datoteke. Međutim, korištenje .bak omogućava lako prepoznavanje datoteka sigurnosnih kopija i to je standardna praksa u industriji.
15.7 Kako napraviti sigurnosnu kopiju SQL Server na mrežni disk?
Za pravljenje sigurnosne kopije na mrežni disk:
- obezbijediti SQL Server Servisni račun ima dozvole za pisanje na mrežnoj dijeljenoj mapi
- Koristite UNC putanju u naredbi za pravljenje rezervne kopije:
\\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)tarstvar 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čni za poneti
efektivan SQL Server Strategije za sigurnosno kopiranje štite vaše podatke i osiguravaju kontinuitet poslovanja. Zapamtite ove bitne stvari:
- Razumjeti vrste sigurnosnih kopija: Odaberite odgovarajuće vrste sigurnosnih kopija (potpuna, diferencijalna, dnevnik transakcija) na osnovu vaših zahtjeva za oporavak
- Odaberite odgovarajući model oporavka: Potpuni oporavak kritičnih podataka, jednostavan za razvojne baze podataka
- Implementirajte raspored sigurnosne kopije: Redovne potpune sigurnosne kopije u kombinaciji s diferencijalnim i log sigurnosnim kopijama minimiziraju gubitak podataka
- Procedure vraćanja testa: Sigurnosne kopije su vrijedne samo ako se mogu uspješno vratiti u prvobitno stanje.
- Automatizirajte i pratite: upotreba SQL Server Agent, planovi održavanja i alati za praćenje
- Sigurne sigurnosne kopije: Šifrirajte osjetljive podatke i kontrolirajte pristup datotekama sigurnosnih kopija
- Čuvanje kopija van lokacije: Zaštitite se od katastrofa na cijeloj web stranici pomoću pohrane u oblaku ili udaljene pohrane
- Dokumentirajte sve: Održavajte jasnu dokumentaciju o postupcima sigurnosne kopije i oporavka
16.2 Sljedeći koraci i resursi
Da poboljšate 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 procedura vraćanja na neprodukcijske sisteme
- Redovno pregledajte i ažurirajte rasporede sigurnosnih kopija
- Implementirajte automatizirano praćenje i upozoravanje
- Obučite članove tima o procedurama vraćanja
Dodatni resursi:
- Microsoft SQL Server Dokumentacija: Zvanično uputstvo za pravljenje sigurnosnih kopija i vraćanje podataka
- SQL Server Forumi zajednice za sigurnosne kopije: Podijelite iskustva i rješenja
- Profesionalni certifikati: Microsoftov certifikat: Azure Database Administrator Associate
16.3 Preporučeni alati i rješenja
Na osnovu različitih scenarija:
mala preduzeća:
- domaći SQL Server sigurnosna kopija sa zakazanim SQL Server Poslovi agenta
- SQLBackupAndFTP za integraciju u oblak
- Azure sigurnosna kopija za SQL Server
Srednja preduzeća:
- SQL Server Planovi održavanja
- Alati trećih strana poput Redgate SQL Backup Pro
- Veeam sigurnosna kopija za SQL Server
Velika preduzeća:
- Quest LiteSpeed za maksimalnu kompresiju
- Commvault ili Veritas NetBackup za upravljanje sigurnosnim kopijama u preduzećima
- Grupe dostupnosti uvijek uključene za visoka raspoloživost
SQL Server Sigurnosna kopija je fundamentalna 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.tarne primjenjujemo ove najbolje prakse danas kako bismo osigurali svoje SQL Server baze podataka.
o autoru
Yuan Sheng je viši administrator baze podataka (DBA) sa preko 10 godina iskustva u SQL Server okruženja i upravljanje bazama podataka u preduzećima. Uspješno je riješio stotine scenarija oporavka baza podataka u organizacijama finansijskih usluga, zdravstva i proizvodnje.
Yuan je specijaliziran 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 za sigurnosno kopiranje i oporavak za poslovne sisteme od kritične važnosti.
Svojim tehničkim znanjem i praktičnim pristupom, Yuan se fokusira na kreiranje sveobuhvatnih vodiča koji pomažu administratorima baza podataka i IT stručnjacima da riješe složene probleme. SQL Server efikasno rješava izazove. On prati najnovije SQL Server izdanja i Microsoftove tehnologije baza podataka koje se razvijaju, redovno testirajući scenarije oporavka kako bi osigurao da njegove preporuke odražavaju najbolje prakse iz stvarnog svijeta.
Imate pitanja o SQL Server oporavak ili vam trebaju dodatne smjernice za rješavanje problema s bazom podataka? Yuan pozdravlja povratne informacije i prijedlozi za poboljšanje ovih tehničkih resursa.











