rezerves SQL Server datubāze ar mūsu pilnīgo 2025. gada rokasgrāmatu. Soli pa solim sniegtas instrukcijas un labākā prakse visiem prasmju līmeņiem.
1. Ievads SQL Server rezerves
1.1 Kas ir SQL Server Rezerves kopija?
SQL Server Dublēšana ir datubāzes failu kopiju izveides process, lai aizsargātu pret datu zudumu. Dublēšana fiksē datubāzes stāvokli noteiktā laika brīdī, ļaujot atjaunot datus aparatūras kļūmju, cilvēcisku kļūdu vai katastrofu gadījumā.
SQL Server pēc noklusējuma saglabā dublējumkopijas .bak failos, kas satur visus datubāzes objektus, tostarp tabulas, saglabātās procedūras, skatus, indeksus un darījumu žurnālus.
1.2 Kāpēc? SQL Server Rezerves kopēšana ir kritiski svarīga
Datu bāzes dublējumkopijas kalpo kā jūsu pēdējā aizsardzības līnija pret datu zudumu. Bez atbilstošām dublējumkopijām jūsu organizācija riskē ar:
- Neatgriezenisks datu zudums aparatūras kļūmju vai bojājumu dēļ
- Pagarināts dīkstāves laiks atgūšanas mēģinājumu laikā
- Uzņēmējdarbības traucējumi un ieņēmumu zaudējumi
- Atbilstības pārkāpumi ja datus nevar atgūt
- Reputācijas kaitējums no pakalpojumu pārtraukumiem
regulārs SQL Server Rezerves kopijas nodrošina uzņēmējdarbības nepārtrauktību un atbilst datu aizsardzības normatīvajām prasībām.
1.3 Biežākie datu zuduma scenāriji
Izpratne par datu zuduma gadījumiem palīdz izstrādāt efektīvu dublēšanas stratēģiju:
- Aparatūras kļūmes: Disku avārijas, serveru darbības traucējumi vai krātuves sistēmas kļūmes
- Cilvēciskās kļūdas: Nejauša dzēšana, nepareizi atjauninājumi vai izmestas tabulas
- Programmatūras problēmas: Lietojumprogrammu kļūdas, bojāti atjauninājumi vai sistēmas avārijas
- Drošības pārkāpumi: Izspiedējvīrusu uzbrukumi, ļaunprātīga dzēšana vai neatļauta piekļuve
- Dabas katastrofas: Ugunsgrēki, plūdi vai strāvas padeves pārtraukumi, kas ietekmē datu centrus
2. Saprašana SQL Server Dublēšanas veidi
SQL Server atbalsta vairākus dublējuma veidus, katrs no tiem atbilst atšķirīgām atkopšanas vajadzībām un krātuves prasībām.
2.1 Pilnīga dublēšana
Pilna dublējumkopija izveido pilnīgu visas datubāzes kopiju, tostarp visus datu failus un daļu no atkopšanai nepieciešamā transakciju žurnāla.
2.1.1 Kad izmantot pilnu dublējumu
Pilnas rezerves kopijas ir ideāli piemērotas:
- Citu dublējuma veidu bāzes līnijas izveide
- Mazas un vidējas datubāzes, kurās dublēšanas laiks ir pieņemams
- Nedēļas vai mēneša dublēšanas grafiki
- Datubāzes ar retām izmaiņām
2.1.2 Pilnīgas dublēšanas priekšrocības un ierobežojumi
Priekšrocības:
- Vienkāršākais atjaunošanas process — vienā failā ir viss
- Autonoms un neatkarīgs no citiem dublējumiem
- Ātrākais atkopšanas laiks pilnīgai datubāzes atjaunošanai
Ierobežojumi:
- Nepieciešama ievērojama uzglabāšanas vieta
- Ilgāks dublēšanas laiks lielām datubāzēm
- Lielāks resursu patēriņš dublēšanas darbību laikā
2.2 Diferenciālā dublēšana
Diferenciālā dublēšana ietver tikai datu izmaiņas kopš pēdējās pilnās dublēšanas, tādējādi samazinot dublēšanas laiku un krātuves prasības.
2.2.1 Kā darbojas diferenciālā dublēšana
Diferenciālās rezerves kopijas izseko izmaiņas, izmantojot mainītos apjomus. Atjaunojot, SQL Server vispirms lieto pēdējo pilno dublējumu, pēc tam lieto most nesen veiktā diferenciālā dublēšana.
2.2.2 Pilna un diferenciālā dublēšana
| Aspekts | Pilna dublēšana | Diferenciālā dublēšana |
|---|---|---|
| Izmēri | Pilnīga datubāze | Izmaiņas tikai kopš pēdējās pilnās dublējuma |
| Dublēšanas laiks | Garākā | Ātrāk nekā pilns |
| Atjaunošanas process | Viena faila atjaunošana | Nepieciešams pilns + diferenciālis |
| Nepieciešama krātuve | Most telpa | Sākumā mazāk vietas, laika gaitā tā palielinās |
2.3 Darījumu žurnāla dublēšana
Darījumu žurnāla dublējumi ietver visus darījumus kopš pēdējās žurnāla dublējuma, nodrošinot atkopšanu konkrētā laika punktā.
2.3.1 Darījumu žurnālu izpratne
Transakciju žurnāls reģistrē visas jūsu datubāzes izmaiņas. Žurnāla dublējumi saīsina žurnāla neaktīvo daļu, neļaujot tam bezgalīgi augt un piepildīt disku.
2.3.2 Atjaunošana noteiktā laika punktā
Darījumu žurnāla dublējumkopijas ļauj atjaunot datubāzi jebkurā konkrētā brīdī žurnāla dublējumkopijā. Tas ir ļoti svarīgi, lai atgūtu datus pēc nejaušas datu modificēšanas vai dzēšanas.
Lai veiktu atkopšanu noteiktā laika posmā, jums ir nepieciešams:
- Pēdējā pilnā dublējumkopija
- Most nesen veikts diferenciālais dublējums (pēc izvēles)
- Visas darījumu žurnāla dublējumkopijas no pilnās/diferenciālās dublējumkopijas uz jūsu tardabūt laiku
2.4 Astes žurnāla dublēšana
Datu žurnālu dublējumkopijas ietver žurnālu ierakstus, kas vēl nav dublēti, tādējādi novēršot datu zudumu un saglabājot neskartu žurnālu ķēdi. Pirms datu atkopšanas SQL Server Lai atjaunotu datubāzi līdz tās jaunākajam laika punktam, ir jādublē tās darījumu žurnāla beigu daļa. Žurnāla beigu daļas dublējums ir pēdējais interesējošais dublējums datubāzes atkopšanas plānā.

Piezīme: Ne visiem atjaunošanas scenārijiem ir nepieciešama žurnāla astes dublējumkopija. Tā nav nepieciešama, ja atkopšanas punkts ir ietverts iepriekšējā žurnāla dublējumā. Žurnāla astes dublējumkopija nav nepieciešama arī tad, ja pārvietojat vai aizstājat (pārrakstāt) datubāzi un tā nav jāatjauno uz laika punktu pēc tās m.ost nesen veiktā dublēšana.
2.4.1 Kad nepieciešamas astes žurnāla dublējumkopijas
Tālāk norādītajos gadījumos ir aprakstīti gadījumi, kad jāveic astes žurnāla dublējums:
Tiešsaistes datubāzes atjaunošana: Ja datu bāze ir tiešsaistē un plānojat veikt datu bāzes atjaunošanas darbību, vispirms izveidojiet žurnāla beigu daļas dublējumu. Lai izvairītos no kļūdas tiešsaistes datu bāzē, dublējot, jāizmanto BACKUP Transact-SQL priekšraksta opcija WITH NORECOVERY. SQL Server datu bāze.
Bezsaistes datubāzes atkopšana: Ja datubāze ir bezsaistē un neizdodas starun jums ir jāatjauno datubāze, vispirms izveidojiet žurnāla daļas dublējumu. Tā kā šajā laikā nevar notikt nekādas transakcijas, opcijas WITH NORECOVERY izmantošana nav obligāta. Šajā scenārijā NORECOVERY būtībā ir tas pats, kas tikai kopēšanas transakciju žurnāla dublējums.
Bojātas datubāzes dublējums: Ja datubāze ir bojāta, mēģiniet izveidot žurnāla astes dublējumu, izmantojot BACKUP priekšraksta opciju WITH CONTINUE_AFTER_ERROR. Bojātā datubāzē žurnāla astes dublēšana var izdoties tikai tad, ja žurnāla faili nav bojāti, datubāze ir tādā stāvoklī, kas atbalsta žurnāla astes dublējumus, un datubāzē nav reģistrētu izmaiņu. Ja žurnāla astes dublējumu nevar izveidot, visas transakcijas, kas veiktas pēc jaunākās MS versijas, tiek saglabātas. SQL Server rezerves datubāze ir lost.
2.4.2 Galvenās opcijas astes žurnāla dublējumkopijām
AR NORECOVERY: Izmantojiet KOPĀ AR NORECOVERY, ja dublējat tiešsaistes datubāzes žurnāla daļu, kuru plānojat vēlāk atjaunot. NORECOVERY pārceļ datubāzi bezsaistes režīmā. Varat arī dublēt SQL Server Bezsaistes datubāzes astes žurnāls. Ja vēlaties atstāt datubāzi bezsaistē, izmantojiet WITH NORECOVERY. Ņemiet vērā, ka žurnāls tiks saīsināts, ja vien nenorādāt opciju COPY_ONLY vai NO_TRUNCATE.
AR TURPINĀŠANU_PĒC_KĻŪDAS: Izmantojiet CONTINUE_AFTER_ERROR tikai tad, ja dublējat bojātas datubāzes beigu daļu. Dublējot bojātas datubāzes žurnāla beigu daļu, daži no metadatiem, kas parasti tiek tverti žurnāla dublējumos, var nebūt pieejami.
2.5 Tikai kopēšanai paredzēta dublēšana
Tikai kopēšanai paredzētas dublējumkopijas izveido neatkarīgu dublējumkopiju, neietekmējot parasto dublēšanas secību. Tās nepārtrauc diferenciālās dublēšanas ķēdes vai darījumu žurnāla nepārtrauktību.
Izmantojiet tikai kopēšanai paredzētas rezerves kopijas šādiem mērķiem:
- Testa vai izstrādes datubāzes kopiju izveide
- Ad-hoc dublējumkopijas, neietekmējot plānotās dublējumkopijas
- Rezerves kopija pirms lielām izmaiņām vai testēšanas
2.6 Failu un failu grupu dublēšana
Failu un failu grupu dublējumkopijas tariegūt konkrētus datubāzes failus vai failu grupas, nevis visu datubāzi. Šī pieeja labi darbojas ļoti lielām datubāzēm, kur visu datu dublēšana aizņem pārāk ilgu laiku.
Ieguvumi ietver:
- Ātrākas dublēšanas darbības lielām datubāzēm
- Vairāku failu grupu paralēla dublēšana
- Granulētas atkopšanas iespējas
- Optimizēti dublēšanas grafiki tikai lasāmām failu grupām
2.7 Daļēja dublēšana
Daļējās dublējumos tiek iekļauti visi dati primārajā failu grupā un visās lasāmajās/rakstāmajās failu grupās, izņemot tikai lasāmās failu grupas. Tas samazina dublēšanas lielumu un laiku datubāzēm ar statiskiem vēsturiskiem datiem, kas tiek glabāti tikai lasāmās failu grupās.
3. SQL Server Atkopšanas modeļi
SQL Server Atkopšanas modeļi nosaka, kādi dublējumu veidi ir pieejami un kā tiek pārvaldīti darījumu žurnāli.
3.1 Vienkāršs atkopšanas modelis
3.1.1 Raksturojums un lietošanas gadījumi
Vienkāršā atkopšana automātiski saīsina darījumu žurnālu pēc katra kontrolpunkta, tādējādi atbrīvojot vietu bez nepieciešamības veidot žurnāla dublējumkopijas.
Labākais:
- Izstrādes un testēšanas datubāzes
- Datu bāzes, kurās datu zudums starp dublējumkopijām ir pieņemams
- Datu noliktavas ar atkārtoti izpildāmiem ETL procesiem
- Tikai lasāmas vai atskaišu datubāzes
3.1.2 Pieejamās dublēšanas opcijas
Vienkārša atkopšana atbalsta:
- Pilnas dublējumkopijas
- Diferenciālie dublējumi
- Failu un failu grupu dublējumkopijas
- Tikai kopēšanai paredzētas rezerves kopijas
Darījumu žurnāla dublējumkopijas ir nav pieejams vienkāršā atveseļošanās modelī.
3.2 Pilnīgas atveseļošanās modelis
3.2.1. Funkcijas un priekšrocības
Pilnīga atkopšana reģistrē visus darījumus un saglabā žurnāla ierakstus, līdz tos dublējat. Tas ļauj pilnībā atgūt datus jebkurā laikā darījumu žurnāla dublējuma ietvaros.
Galvenās priekšrocības:
- Minimāls datu zuduma potenciāls
- Atjaunošanas iespēja noteiktā laika punktā
- Atbalsta žurnālu nosūtīšanu un datubāzes spoguļošanu
- Maksimāla atgūšanas elastība
3.2.2 Darījumu žurnāla pārvaldība
Pilnīgas atkopšanas gadījumā jums ir jāveic regulāras darījumu žurnāla dublējumkopijas, lai:
- Neļaujiet darījumu žurnālam aizpildīt diska vietu
- Uzturēt nepārtrauktu rezerves ķēdi
- Iespējot tūlītēju atkopšanu
- Kontrolēt žurnālfailu pieaugumu
Tipisks dublēšanas grafiks: pilnas dublējumkopijas katru nedēļu, diferenciālās dublējumkopijas katru dienu, žurnālu dublējumkopijas ik pēc 15–30 minūtēm.
3.3 Masveida reģistrēšanas atkopšanas modelis
3.3.1 Kad izmantot masveida reģistrēšanu
Masveida reģistrēšanas atkopšana minimāli reģistrē tādas masveida darbības kā MASAS IEVIETOŠANA, ATLASE INTO un indeksa atjaunošana, vienlaikus saglabājot pilnīgu reģistrēšanu regulārajām transakcijām.
Izmantojiet masveida reģistrēšanas atkopšanu, ja:
- Lielapjoma importa operāciju veikšana
- Indeksu atjaunošana lielās tabulās
- Darbību veikšana, kurām nepieciešama minimāla reģistrēšana
- Nepieciešamība samazināt darījumu žurnāla lielumu noteiktu darbību laikā
3.3.2. Ierobežojumi un apsvērumi
Svarīgi ierobežojumi:
- Atjaunošana noteiktā laika punktā nav pieejama masveida darbību laikā
- Žurnālu dublējumkopijas ir lielākas, ja tiek veiktas lielapjoma darbības
- Pēc nepieciešamības jāpārslēdzas starp pilnu un masveida reģistrēšanu
3.4 Pareizā atveseļošanās modeļa izvēle
Izvēlieties atkopšanas modeli, pamatojoties uz uzņēmuma vajadzībām:
| Atkopšanas modelis | Datu zaudēšanas risks | Atgūšana noteiktā laikā | Best For |
|---|---|---|---|
| Vienkāršs | Izmaiņas kopš pēdējās dublējuma | Nē | Izstrāde/testēšana, pieņemams datu zudums |
| pilns | Minimāli (parasti minūtes) | Jā | Ražošanas datubāzes, kritiski svarīgi dati |
| Lielapjoma reģistrēts | Izmaiņas kopš pēdējās žurnāla dublējuma | Ierobežots beztaras operāciju laikā | Laiksrarlietošana beztaras operāciju laikā |
4. rezerves SQL Server Datu bāze, kas izmanto SSMS
4.1 Priekšnosacījumi un sagatavošanās
Pirms dublēšanas SQL Server datubāzē, nodrošiniet:
- Jums ir atbilstošas atļaujas (db_owner vai BACKUP DATABASE atļauja).
- Pietiekami daudz vietas diskā dublējuma failam
- SQL Server Instalēta pārvaldības studija (SSMS)
- Tīkla ceļi ir pieejami, ja tiek veikta dublēšana tīkla atrašanās vietās
4.2 Soli pa solim: pilnīga dublēšana ar SSMS
Veiciet šīs darbības, lai izveidotu pilnu sava tālruņa dublējumu SQL Server datubāze, izmantojot SSMS.
4.2.1 Atvēršana SQL Server Vadības studija
- Sākt SQL Server Vadības studija
- Ievadiet sava servera nosaukumu laukā Servera nosaukums lauks
- Izvēlieties savu autentifikācijas metodi
- Noklikšķiniet Meklēt speciālistu
4.2.2 Datu bāzes un dublēšanas opciju izvēle
- In Objektu pētnieks, izvērsiet Datubāzes mezgls
- Ar peles labo pogu noklikšķiniet uz datubāzes, kuru vēlaties dublēt
- Izvēlēties Uzdevumi -> Atbalstīt
- Iekš Dublējiet datu bāzi logā pārbaudiet datubāzes nosaukumu
- Izvēlēties pilns jo Rezerves veids
4.2.3 Rezerves kopijas galamērķa konfigurēšana
- Zem galamērķisklikšķis Izņemt lai notīrītu noklusējuma ceļu (ja nepieciešams)
- Noklikšķiniet Pievienot lai norādītu jaunu dublējuma atrašanās vietu
- Ievadiet faila ceļu un nosaukumu ar bak pagarināšana
- Noklikšķiniet OK lai apstiprinātu galamērķi
4.2.4 Advanced Backup Settings
- Noklikšķiniet Multivides opcijas kreisajā panelī
- Izvēlieties rezerves opcijas:
- Pārrakstīt visus esošos dublējumu komplektus – Aizstāj esošās dublējumkopijas
- Pievienot esošajam dublējumu komplektam – Pievieno esošajam dublējuma failam
- Noklikšķiniet Rezerves opcijas kreisajā panelī
- Konfigurējiet papildu iestatījumus:
- Saspiest dublējumu – Samazina dublējuma faila lielumu
- Šifrēt dublējumu – Aizsargā sensitīvus datus
- Pārbaudiet dublējumu, kad tas ir pabeigts – Pārbauda dublējuma integritāti
4.2.5 Rezerves kopijas izveide
- Pārskatiet visus iestatījumus sadaļā Dublējiet datu bāzi logs
- Noklikšķiniet OK uz stardublēšanas process
- Pagaidiet, līdz dublēšana ir pabeigta
- Kad dublēšana ir pabeigta, tiek parādīts veiksmīgs ziņojums
- Noklikšķiniet OK lai aizvērtu apstiprinājuma dialoglodziņu
4.3 Diferenciālās dublēšanas izveide, izmantojot SSMS
Lai izveidotu diferenciālo dublējumu, veiciet tās pašas darbības kā pilnas dublējuma gadījumā, bet atlasiet Diferenciālis kā 4.2.2. darbībā norādīto dublējuma veidu. Atcerieties, ka diferenciālajām dublējumkopijām ir nepieciešama iepriekšēja pilna dublējumkopija kā pamats.
4.4 Darījumu žurnāla dublējuma izveide, izmantojot SSMS
Transakciju žurnāla dublējumkopijas ir pieejamas tikai datubāzēm, kas izmanto pilnas vai masveida reģistrēšanas atkopšanas modeļus.
- Ar peles labo pogu noklikšķiniet uz datubāzes Objektu pētnieks
- Izvēlēties Uzdevumi -> Atbalstīt
- izvēlēties Darījumu žurnāls kā rezerves kopēšanas veidu
- Konfigurējiet galamērķi un opcijas pēc nepieciešamības
- Noklikšķiniet OK lai izveidotu žurnāla dublējumu
4.5 Tikai kopēšanai paredzētas dublējuma izveide, izmantojot SSMS
Tikai kopēšanai paredzētas dublējumkopijas netraucē jūsu regulāro dublēšanas secību.
- Izpildiet darbības, lai izveidotu pilnu dublējumu
- Iekš Rezerves opcijas lappuse
- Pārbaudīt Tikai kopēšanai paredzēta dublēšana izvēle
- Pabeidziet dublēšanas procesu kā parasti
5. rezerves SQL Server Datu bāze, kas izmanto T-SQL
5.1 Pamata dublējuma datu bāzes sintakse
T-SQL BACKUP DATABASE komanda nodrošina programmatisku kontroli pār SQL Server dublējumkopijas.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Pilnas T-SQL komandu dublēšanas
5.2.1 Vienkāršs pilnīgas dublēšanas skripts
Izveidojiet pilnu pamata dublējumu ar minimālām opcijām:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Pilnīga dublēšana ar opcijām
Pievienojiet aprakstošu informāciju un formatēšanas opcijas:
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
Iespējas paskaidrotas:
- FORMĀTS – Izveido jaunu rezerves kopu
- TAJĀ – Pārraksta esošo dublējuma failu
- NAME – Piešķir rezerves kopas nosaukumu
- APRAKSTS – Pievieno aprakstošu tekstu
- STATS – Parāda progresu ik pēc 10%
5.3 Diferenciālās dublēšanas T-SQL komandas
Diferenciālās rezerves kopijas izmanto opciju DIFFERENTIAL:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Darījumu žurnāla dublēšanas T-SQL komandas
Darījumu žurnāla dublējumkopijām izmantojiet BACKUP LOG:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Paplašinātas T-SQL dublēšanas opcijas
5.5.1 Dublēšana vairākos failos
Sadaliet dublējumu vairākos failos, lai nodrošinātu ātrāku veiktspēju:
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 Rezerves kopēšana ar saspiešanu
Samaziniet dublējuma faila lielumu un tīkla joslas platumu:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Dublēšana ar šifrēšanu
Aizsargājiet sensitīvus datus ar šifrēšanu:
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 Dublēšana ar paroles aizsardzību
Pievienot paroles aizsardzību (novecojusi, tā vietā izmantojiet šifrēšanu):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Spoguļotās dublējumkopijas
Izveidojiet vienlaicīgas kopijas dažādās vietās:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 T-SQL dublēšanas piemēri un skripti
Pilnīgs dublējuma skripts ar kļūdu apstrādi:
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. rezerves SQL Server Datu bāze, izmantojot PowerShell
6.1 PowerShell dublēšanas cmdlet
SQL Server PowerShell modulis nodrošina cmdlet dublēšanas automatizācijai:
- Backup-SqlDatabase – Izveido datubāzes dublējumkopijas
- Atjaunot SQL datu bāzi – Atjauno datubāzes dublējumkopijas
- Get-SqlDatabase – Iegūst datubāzes informāciju
Importēt SQL Server modulis:
Import-Module SqlServer
6.2 Rezerves kopiju skriptu izveide, izmantojot PowerShell
Pamata PowerShell dublēšanas komanda:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Diferenciālās dublēšanas piemērs:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Darījumu žurnāla dublējums:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 Dublējumu automatizācija, izmantojot PowerShell
Izveidojiet automatizētu dublēšanas skriptu vairākām datubāzēm:
# 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. rezerves SQL Server Datu bāze, izmantojot komandrindu
SQL Server nodrošina komandrindas utilītas, kas ļauj jums dublēt SQL Server datubāzi, neizmantojot SSMS vai grafiskās saskarnes. Šie rīki ir būtiski automatizācijas, skriptēšanas un attālās administrēšanas scenārijiem.
7.1 Izmantojiet SQLCMD dublējuma datubāzi
SQLCMD ir moderna komandrindas utilīta, kas paredzēta SQL Server kas aizstāja OSQL. Tas nodrošina uzlabotu funkcionalitāti un ir ieteicamais rīks T-SQL komandu izpildei no komandrindas.
7.1.1 SQLCMD pamata sintakse
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Norāda SQL Server instances nosaukums
- -d: Norāda datubāzes nosaukumu
- -J: Izpilda vaicājumu un iziet no tā
- -UN: Izmanto Windows autentifikāciju
- -U: Norāda SQL Server pieteikšanās lietotājvārds
- -P: Norāda paroli SQL Server Pieslēgties
7.1.2 Rezerves kopijas izveide ar SQLCMD
Lai dublētu SQL Server Izmantojot SQLCMD, veiciet tālāk norādītās darbības.
- atvērts Command Prompt or PowerShell
- Virzīties uz SQL Server rīku direktorijs (parasti tiek pievienots PATH instalēšanas laikā)
- Izpildiet SQLCMD dublējuma datubāzes komandu ar atbilstošiem parametriem
- Pārliecinieties, vai dublējuma fails ir veiksmīgi izveidots
Pilnas dublēšanas komandas piemērs, izmantojot Windows autentifikāciju:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Piemērs, izmantojot SQL Server Autentifikācija:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Diferenciālās dublējuma izveide ar SQLCMD
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
Transakciju žurnāla dublējuma izveide, izmantojot SQLCMD
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.2 Izmantojiet OSQL dublējuma datubāzi
OSQL ir mantota komandrindas utilīta, kas paredzēta SQL ServerLai gan Microsoft iesaka izmantot SQLCMD, OSQL joprojām ir pieejams atpakaļsaderības nodrošināšanai ar vecākiem skriptiem un sistēmām.
7.2.1 OSQL pamatsintakse
OSQL sintakse ir līdzīga SQLCMD sintaksei:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server instances nosaukums
- -d: Datu bāzes nosaukums
- -J: Izpilda vaicājumu un iziet
- -UN: Izmanto uzticamu savienojumu (Windows autentifikācija)
- -U: Pieteikšanās lietotājvārds
- -P: Pieslēgšanās parole
7.2.2 Rezerves kopijas izveide, izmantojot OSQL
Lai veiktu OSQL dublējuma datubāzes darbības:
- atvērts Command Prompt
- Pārliecinieties, vai jūsu ierīcē ir pieejams OSQL. SQL Server uzstādīšana
- Izpildiet OSQL dublēšanas komandu
Pilnas dublējuma piemērs:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Diferenciālās dublēšanas piemērs:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Trešās puses SQL Server Dublēšanas rīki
Kamēr SQL Server ietver vietējās dublēšanas iespējas, trešo pušu rīki piedāvā uzlabotas funkcijas, automatizāciju un uzņēmuma līmeņa pārvaldību organizācijām ar sarežģītām prasībām. Šie risinājumi nodrošina uzlabotu saspiešanu, centralizētu pārvaldību un racionalizētas darbplūsmas dublēšanai. SQL Server datubāzes vairākās vidēs.
8.1 Veeam dublējums priekš SQL Server
Veeam piedāvā visaptverošus datu aizsardzības risinājumus, kas īpaši izstrādāti dublēšanai SQL Server datubāzes ar minimālu ietekmi uz ražošanas sistēmām.
Galvenās funkcijas:
- Lietojumprogrammu apzinoša apstrāde SQL Server dublējuma konsekvence
- Darījumu žurnāla dublēšana un pārvaldība
- Atjaunošana noteiktā laika punktā ar detalizētām atjaunošanas iespējām
- Integrācija ar Veeam Backup & Replication vienotai datu aizsardzībai
- Automatizēta dublējuma verifikācija un validācija
- Atbalsts vienmēr pieejamajām pieejamības grupām
- VM līmenis un lietojumprogrammu līmenis SQL Server rezerves iespējas
8.2 Barracuda dublējums SQL Server
Barracuda nodrošina mākonī integrētus dublēšanas risinājumus ar vienkāršotu pārvaldību Microsoft. SQL Server dublēšanas datubāzes darbības.
Galvenās funkcijas:
- Automatizēta SQL Server rezerves plānošana
- Iebūvēta mākoņa replikācija uz Barracuda mākoņkrātuvi
- Globālā deduplikācija un saspiešana
- Tūlītējas lokālas atkopšanas iespējas
- Tīmekļa pārvaldības konsole
- Atbalsts pilnām, diferenciālām un darījumu žurnālu dublējumkopijām
- Izspiedējvīrusu aizsardzība ar nemaināmām dublējumkopijām
8.3 Veritas NetBackup priekš SQL Server
Veritas NetBackup ir uzņēmuma līmeņa dublēšanas platforma, kas nodrošina visaptverošu aizsardzību SQL Server datubāzes sarežģītās IT vidēs.
Galvenās funkcijas:
- Uzņēmuma mēroga dublējumu pārvaldība tūkstošiem SQL Server gadījumi
- Uzlaboti deduplikācijas un saspiešanas algoritmi
- Elastīgas dublēšanas politikas un plānošana
- Atbalsts visiem SQL Server atveseļošanās modeļi
- Integrācija ar lentes bibliotēkasrarun mākoņkrātuve
- Datu bāzu, tabulu un objektu detalizēta atkopšana
- Atbalsts vairākām platformām (Windows, Linux) SQL Server)
- Automatizēta dublējuma dzīves cikla pārvaldība
8.4 Commvault pilnīga dublēšana un atkopšana SQL Server
Commvault nodrošina inteliģentu datu pārvaldību ar visaptverošu dublēšanu SQL Server iespējas un uzlabotas automatizācijas funkcijas.
Galvenās funkcijas:
- Mākslīgā intelekta vadīta dublēšanas optimizācija un anomāliju noteikšana
- Vienota platforma dublēšanai, atkopšanai un arhivēšanai
- uzlabots SQL Server rezerves saspiešana (samazinājums līdz pat 90%)
- Automatizēta katastrofu atkopšanas orķestrēšana
- Tiešraides sinhronizācija gandrīz nulles RPO aizsardzībai
- Atbalsts SQL Server lokālas, mākoņa un hibrīdas izvietošanas
- IntelliSnap momentuzņēmumu dublēšanai
- Visaptverošas atbilstības un e-atklāšanas iespējas
8.5. Kohēzijas datu aizsardzība SQL Server
Cohesity nodrošina nākamās paaudzes datu pārvaldību ar hiperkonverģētu infrastruktūru mūsdienīgai lietošanai SQL Server dublēšanas operācijas.
Galvenās funkcijas:
- Tīmekļa mēroga arhitektūra vienkāršotai pārvaldībai
- Tūlītējas masveida atjaunošanas iespējas SQL Server datu bāzes
- Lietojumprogrammām konsekventi momentuzņēmumi
- Globāla deduplikācija visās dublējumos
- Vietējā mākoņa integrācija (AWS, Azure, Google Cloud)
- Iebūvēti analītikas un uzraudzības informācijas paneļi
- Datu bāzes klonēšanas un testēšanas iespējas
- Izspiedējvīrusu aizsardzība ar nemaināmiem momentuzņēmumiem
8.6 Red Gate SQL dublēšanas programma Pro
Red Gate SQL Backup Pro ir specializēts rīks, kas paredzēts tikai optimizācijai SQL Server dublēšanas un atjaunošanas darbības ar izcilu saspiešanas spēju un veiktspēju.
Galvenās funkcijas:
- Nozarē vadošie kompresijas koeficienti (līdz pat 95%)
- Tīkla noturība dublēšanai SQL Server neuzticamu savienojumu gadījumā
- Rezerves šifrēšana ar 256 bitu AES
- Rezerves kopiju verifikācija un integritātes pārbaude
- Detalizēta dublēšanas vēsture un pārskatu sniegšana
- Integrācija ar SQL Server Vadības studija
- Atbalsts dublēšanai tīkla atrašanās vietās un mākoņkrātuvē
- Paralēla dublēšana un atjaunošana ātrākai darbībai
9. Kā atjaunot SQL Server Datubāze
9.1 Atjaunošanas procesa izpratne
Atjaunošana a SQL Server Datubāze atjauno datubāzi no dublējuma failiem. Atjaunošanas process nolasa dublējuma failu un atjauno datubāzi tās dublējuma stāvoklī.
Svarīgi apsvērumi:
- Atjaunojot tiek pārrakstīta esošā datubāze
- Atjaunošanas laikā lietotāji tiek atvienoti
- Atjaunošanas procesā jāievēro dublēšanas secība (pilna, tad diferenciālā, tad žurnāli).
- Datu bāze atjaunošanas darbības laikā nav pieejama
9.2 Pilnas dublējuma atjaunošana, izmantojot SSMS
Lai atjaunotu pilnu datubāzes dublējumu, veiciet šīs darbības.
9.2.1 Soli pa solim atjaunošanas process
- atvērts SQL Server Vadības studija un izveidojiet savienojumu ar savu serveri
- In Objektu pētnieks, ar peles labo pogu noklikšķiniet Datubāzes
- Izvēlēties Atjaunot datu bāzi
- Iekš avots sadaļā, izvēlieties Ierīce
- Noklikšķiniet ... poga, lai pārlūkotu dublējuma failus
- Noklikšķiniet Pievienot un dodieties uz savu .bak failu
- Atlasiet dublējuma failu un noklikšķiniet uz OK
- Iekš galamērķis sadaļā ievadiet datubāzes nosaukumu
- Pārskatiet dublējuma kopas, lai tās atjaunotu
- Noklikšķiniet OK uz start atjaunošana
9.2.2 Atjaunošanas opcijas un iestatījumi
Noklikšķiniet opcijas kreisajā panelī, lai konfigurētu:
- Pārrakstīt esošo datubāzi (AR AIZSTĀŠANU) – Ļauj atjaunot, izmantojot esošo datubāzi
- Saglabāt replikācijas iestatījumus (AR KEEP_REPLICATION) – Saglabā replikācijas konfigurāciju
- Ierobežot piekļuvi atjaunotajai datubāzei (WITH RESTRICTED_USER) – Ierobežojumi post- atjaunot piekļuvi
- Atveseļošanās stāvoklis – Izvēlieties starp ATJAUNOŠANU AR ATJAUNOŠANU vai BEZ ATJAUNOŠANAS
9.3 Diferenciālās dublēšanas atjaunošana
Diferenciālajai atjaunošanai ir nepieciešamas gan pilnas, gan diferenciālās dublējumkopijas:
- Vispirms atjaunojiet pilnu dublējumu, izmantojot NORECOVERY izvēle
- Pēc tam atjaunojiet diferenciālo dublējumu ar RECOVERY izvēle
T-SQL piemērs:
-- 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 Atjaunošana, izmantojot darījumu žurnāla dublējumkopijas
Lai atjaunotu noteiktā laika punktā, atjaunojiet šādā secībā:
- Atjaunojiet pilnu dublējumu, izmantojot NORECOVERY
- Atjaunot diferenciālo dublējumu, izmantojot NORECOVERY (ja pieejams)
- Atjaunojiet darījumu žurnāla dublējumus secībā, izmantojot NORECOVERY
- Atjaunojiet pēdējo žurnāla dublējumu, izmantojot 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 Atjaunošana noteiktā laika punktā
Atjaunot datubāzi noteiktā laika punktā, izmantojot STOPAT opciju:
-- 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 Tabulas atjaunošana
SQL Server neatbalsta tiešu atjaunošanu tabulas līmenī no dublējuma failiem. Tomēr joprojām pastāv daži risinājumi.
9.6.1 1. metode: datubāzes momentuzņēmumi (vislabāk profilaksei)
Datu bāzes momentuzņēmumi nodrošina ātrāko veidu, kā atjaunot tabulas datus, ja tie ir izveidoti pirms problēmas rašanās. Momentuzņēmums ir tikai lasāms, statisks datu bāzes skats noteiktā laika brīdī.
Datu bāzes momentuzņēmuma izveide:
-- 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
Tabulas datu atjaunošana no momentuzņēmuma:
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
Versijas prasības: Datu bāzes momentuzņēmumi ir pieejami sadaļā SQL Server Enterprise Edition (visas versijas) un Standard Editiontarzvanīt ar SQL Server 2016. gada 1. pakalpojums.
9.6.2 2. metode: Atjaunot tempurary datubāze (Most Bieži)
Šī metode darbojas, ja pēc problēmas rašanās ir jāatgūst tabulas dati, ja nav momentuzņēmuma:
- Atjaunot dublējumu tempārary datubāze
- Kopēt tabulas datus no temporary datubāzi uz pašreizējo datubāzi
9.7 Lapas atjaunošana
Lapu atjaunošanas funkcija atjauno atsevišķas bojātas lapas, neatjaunojot visu datubāzi, tādējādi samazinot dīkstāves laiku, tariegūst tikai bojātas lapas. Šī funkcija ir pieejama tikai pilnas vai masveida reģistrēšanas atkopšanas modeļos un tai ir nepieciešama nepārtraukta darījumu žurnāla dublējumu ķēde no lapas dublējuma līdz pašreizējam žurnālfailam.
Lai veiktu lapas atjaunošanu, vispirms identificējiet bojātās lapas, izveidojiet žurnāla dublējumu, atjaunojiet konkrētās lapas un pēc tam lietojiet visus darījumu žurnālus:
-- 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
Piezīme: Lapas atjaunošana nav pieejama, izmantojot vienkāršo atkopšanas modeli. Lapas nevar atjaunot no sistēmas tabulām vai primārās failu grupas metadatiem.
9.8 Pakāpeniska atjaunošana
Pakāpeniska atjaunošana (daļēja atjaunošana) atjauno datubāzi pa posmiem failu grupas līmenī, starsazinoties ar primāro failu grupu. Tas nekavējoties atjauno kritiski svarīgus datus, kamēr mazāk kritiski dati tiek atjaunoti fonā. Vienkāršajā atkopšanas modelī visas lasāmās/rakstāmās failu grupas ir jāatjauno kopā ar primāro failu grupu; atsevišķi var atjaunot tikai lasāmās failu grupas. Pilnajā vai masveida reģistrēšanas atkopšanas modelī katru failu grupu var atjaunot tiešsaistē neatkarīgi pēc darījumu žurnālu lietošanas.
| Atkopšanas modelis | Pakāpeniskas atjaunošanas uzvedība |
|---|---|
| Vienkāršs | Primārās un visas lasāmās/rakstāmās failu grupas atjaunotas kopā. Tikai lasāmās failu grupas atjaunotas atsevišķi. |
| Pilnībā/lielapjoma reģistrēšana | Katra failu grupa tika atjaunota neatkarīgi failu grupas līmenī. |
Pilnīgas atkopšanas modeļa piemērs — vispirms atjaunojiet primāro failu grupu, lai datubāzi aktivizētu, pēc tam atjaunojiet sekundārās failu grupas, kamēr datubāze joprojām darbojas:
-- 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
Vienkārša atkopšanas modeļa piemērs:
-- 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 Atjaunošana, izmantojot T-SQL komandas
Pilnīgs atjaunošanas skripts ar failu pārvietošanu:
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 Dublējuma integritātes pārbaude pirms atjaunošanas
Pārbaudiet dublējuma derīgumu bez atjaunošanas:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Šī komanda pārbauda, vai dublējuma komplekts ir pilnīgs un lasāms, faktiski neatjaunojot datubāzi.
10. SQL Server Rezerves kopēšanas paraugprakse
10.1 Rezerves stratēģijas izstrāde
10.1.1 Biznesa prasību novērtēšana
Pirms dublējumu ieviešanas izvērtējiet:
- Datu kritiskums: Cik svarīgi šie dati ir darbībai?
- Mainīt frekvenci: Cik bieži mainās dati?
- Datubāzes lielums: Cik liela ir datubāze?
- Pieejamie resursi: Kāda krātuve un joslas platums ir pieejams?
- Atbilstības prasības: Kādi noteikumi jums jāievēro?
10.1.2 RTO un RPO definēšana
Atveseļošanās laika mērķis (RTO): Maksimāli pieņemamais dīkstāves laiks. Nosaka, cik ātri nepieciešams atjaunot darbību.
Atjaunošanas punkta mērķis (RPO): Maksimāli pieļaujamais datu zudums. Nosaka dublēšanas biežumu.
| RTO/RPO prasība | Ieteicamā dublēšanas stratēģija |
|---|---|
| RPO: Stundas, RTO: Stundas | Pilns dienas + darījumu žurnāls ik pēc 1–2 stundām |
| RPO: Minūtes, RTO: Stundas | Pilnas ikdienas + žurnālu dublējumkopijas ik pēc 15–30 minūtēm |
| RPO: Gandrīz nulle, RTO: Minūtes | Vienmēr ieslēgtas pieejamības grupas + biežas žurnālu dublējumkopijas |
| RPO: Dienas, RTO: Dienas | Nedēļas pilna + dienas starpība |
10.2 Rezerves kopēšanas grafika izveide
10.2.1 Frekvences ieteikumi
Tipisks dublēšanas grafiks ražošanas datubāzēm:
- Pilnas rezerves kopijas: Katru nedēļu (svētdienas vakarā, kad aktivitāte ir zema)
- Diferenciālās rezerves kopijas: Katru dienu (katru nakti)
- Darījumu žurnāla dublējumkopijas: Darba laikā ik pēc 15–30 minūtēm
- Tikai kopēšanai paredzētas rezerves kopijas: Pēc nepieciešamības testēšanai vai izstrādei
10.2.2 Veiktspējas un aizsardzības līdzsvarošana
Plānojot grafiku, ņemiet vērā šādus faktorus:
- Ārpus pīķa stundām: Veiciet pilnas dublējumkopijas zemas aktivitātes periodos
- Resursu ietekme: Saspiešana samazina I/O, bet palielina CPU izmantošanu
- Tīkla joslas platums: Plānojiet tīkla dublēšanu, kad datplūsma ir zema
- Rezerves logi: Nodrošiniet, lai dublējumkopijas tiktu pabeigtas pirms darba laika.
10.3 Rezerves kopiju glabāšanas labākā prakse
10.3.1 Uzglabāšana uz vietas salīdzinājumā ar glabāšanu ārpus objekta
Vietnes dublējumkopijas:
- Ātrāks dublēšanas un atjaunošanas laiks
- Apakšējā cost augstfrekvences piekļuvei
- Neaizsargāts pret vietējām katastrofām
- Vislabāk piemērots ātras atkopšanas scenārijiem
Ārpusvietas dublējumkopijas:
- Aizsardzība pret konkrētai vietai raksturīgām katastrofām
- Atbilstība ģeogrāfiskās redundances prasībām
- Lēnāks atjaunošanas laiks
- Būtiski katastrofu seku novēršanai
10.3.2 Mākoņa dublēšanas opcijas
Mākoņkrātuves priekšrocības:
- Azure Blob krātuve: Dzimtais SQL Server integrācija, cost- efektīvs reti sastopamas piekļuves gadījumā
- Amazon S3: Ļoti izturīgi, elastīgi uzglabāšanas līmeņi
- Google mākoņkrātuve: Konkurētspējīgas cenas, globāla pieejamība
10.3.3 Rezerves kopiju saglabāšanas politikas
Paraugu saglabāšanas politika:
- Saglabājiet ikdienas dublējumus 7 dienas
- Saglabājiet iknedēļas dublējumus 4 nedēļas
- Saglabājiet ikmēneša dublējumus 12 mēnešus
- Saglabājiet ikgadējās dublējumkopijas 7 gadus (atbilstība)
10.4 Rezerves kopiju saspiešana un šifrēšana
Kompresijas priekšrocības:
- Samazina dublējuma faila lielumu par 50–70 %
- Samazina rezerves kopēšanas laiku
- Samazina uzglabāšanas costs
- Samazina tīkla joslas platumu attālinātām dublējumkopijām
Šifrēšanas labākā prakse:
- Vienmēr šifrējiet dublējumkopijas, kas satur sensitīvus datus
- Izmantojiet AES 256 bitu šifrēšanu
- Drošs sertifikāts vai atslēgu pārvaldība
- Dokumentējiet šifrēšanas atslēgas un glabājiet tās atsevišķi
10.5 Dublējumu testēšana un verifikācija
10.5.1 Regulāra atjaunošanas pārbaude
Testa atjaunošanas procedūras reizi ceturksnī vai mēnesī:
- Atjaunot dublējumus testa vidē
- Pārbaudiet datu integritāti un pilnīgumu
- Pārbaudiet lietojumprogrammas funkcionalitāti
- Dokumenta atjaunošanas laiks (apstiprināt RTO)
- Identificējiet un atrisiniet visas problēmas
10.5.2 ATJAUNOŠANAS VERIFYONLY izmantošana
Automatizēt dublējuma validāciju:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Veiciet pārbaudi nekavējoties pēc dublējuma pabeigšanas vai kā daļu no plānotās apkopes.
10.6 Rezerves kopēšanas automatizācija un uzraudzība
10.6.1 SQL Server Aģenta darbs
Izveidojiet automatizētus dublēšanas darbus:
- paplašināt SQL Server Aģents
SSMS
- Right-click Darbs un izvēlieties Jauns darbs
- Nosauciet uzdevumu (piemēram, “Ikdienas pilna dublēšana”).
- Pievienot Solis ar T-SQL dublēšanas komandām
- Izveidot Ieplānot izpildes laikam
- Konfigurēt Paziņojumi par panākumiem/neveiksmēm
10.6.2 Apkopes plāni
SQL Server Apkopes plāni nodrošina vizuālu saskarni dublēšanas automatizācijai:
- Virzīties uz vadība -> Apkopes plāni
- Ar peles labo pogu noklikšķiniet uz un izvēlieties Apkopes plāna vednis
- Atlasiet automatizējamos dublēšanas uzdevumus
- Konfigurējiet dublēšanas grafiku un opcijas
- Atskaišu veidošanas un reģistrēšanas iestatīšana
10.6.3 Rezerves brīdinājumi un paziņojumi
E-pasta paziņojumu konfigurēšana:
- Iestatiet datubāzes pastu SQL Server
- Izveidojiet brīdinājumus par dublēšanas kļūmēm
- Dublēšanas darbu vēstures uzraudzība
- Nosūtīt kopsavilkuma pārskatus administratoriem
10.7 Dokumentācija un katastrofu seku novēršanas plānošana
Saglabājiet visaptverošu dokumentāciju:
- Rezerves kopēšanas grafiks: Kad un kas tiek dublēts
- Saglabāšanas politikas: Cik ilgi tiek glabātas dublējumkopijas
- Uzglabāšanas vietas: Kur tiek glabātas dublējumkopijas
- Atjaunošanas procedūras: Soli pa solim atkopšanas instrukcijas
- Kontaktinformācija: Galvenie darbinieki un piegādātāji
- Atveseļošanās testa rezultāti: Dokumentēti testa rezultāti
11. Advanced SQL Server Rezerves scenāriji
11.1 Ļoti lielu datubāzu (VLDB) dublēšana
11.1.1 Failu un failu grupu stratēģijas
Datubāzēm, kas pārsniedz vairākus simtus gigabaitu:
- Atdaliet tikai lasāmos un lasāmos/rakstāmos datus dažādās failu grupās
- Reti dublējiet tikai lasāmas failu grupas
- Koncentrējieties uz biežām dublējumkopijām uz aktīvām failu grupām
- Izmantojiet failu līmeņa dublējumus detalizētai kontrolei
Faila dublējuma piemērs:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Dublēšanas veiktspējas optimizācija
Uzlabojiet VLDB dublēšanas veiktspēju:
- Svītrainās rezerves kopijas: Rakstīt vairākos failos vienlaikus
- Compression: Samaziniet I/O un krātuves prasības
- Vairākas rezerves ierīces: Paralēlizēt dublēšanas darbības
- Ātra uzglabāšana: Izmantojiet SSD diskus dublēšanas sagatavošanai
- Buferu skaits: Palielināt BUFFERCOUNT opciju
- Maksimālais pārsūtīšanas lielums: Optimizēt MAXTRANSFERSIZE iestatījumu
-- 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 Dublēšana Always On pieejamības grupās
Vienmēr ieslēgtās pieejamības grupas sadala dublēšanas slodzi starp kopijām:
- Konfigurējiet dublēšanas preferences (primāro, sekundāro vai jebkuru repliku)
- Pārnesiet dublējumus uz sekundārajām kopijām, lai samazinātu primāro darba slodzi
- Izmantot COPY_ONLY dublējumkopijas sekundārajās kopijās
- Monitora dublēšanas prioritātes iestatījumi
-- 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 Dublēšana datubāzes spoguļošanai
Datu bāzes spoguļošanas scenārijos:
- Regulāri dublējiet galveno datubāzi
- Darījumu žurnāla dublējumkopijas ir būtiskas spoguļošanai
- Spoguļa datubāze ir ATJAUNOŠANAS stāvoklī (to nevar tieši dublēt)
- Apsveriet spoguļa dublēšanu pēc rezerves kopijas izveides
11.4 Dublēšana Azure Blob krātuvē
SQL Server var dublēt tieši pakalpojumā Azure Blob Storage:
- Izveidot Azure krātuves kontu
- izveidot SQL Server Azure autentifikācijas akreditācijas dati
- Rezerves galamērķim izmantojiet URL sintaksi
-- 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 Dublēšana uz URL
Dublēšanas priekšrocības uz URL:
- Neierobežota mākoņkrātuves ietilpība
- Ģeogrāfiskā redundanci apstrādā automātiski
- Izmaksas cenu noteikšanas modelis
- Nav nepieciešama vieta lokālajā diskā
- Atbalsta līdz 64 URL katrā dublējumkopijā (svītrošana)
11.6 Svītrotās dublējumkopijas veiktspējas uzlabošanai
Svītrotās dublējumkopijas sadala datus vairākos failos, lai nodrošinātu ātrāku ievadi/izvadi:
-- 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
Piezīme. Atjaunošanas darbiem nepieciešami visi svītru faili. Ja trūkst kāda faila, dublējums kļūst nelietojams.
12. Traucējummeklēšana SQL Server Dublēšanas problēmas
12.1 Biežāk sastopamās dublēšanas kļūdas un risinājumi
Kļūda: “Operētājsistēmas kļūda 5: Piekļuve liegta”
- Iemesls: SQL Server pakalpojuma kontam trūkst atļauju
- Risinājums: Piešķirt rakstīšanas atļaujas SQL Server pakalpojuma konts dublējuma mapē
Kļūda: “Nevar atvērt dublēšanas ierīci… Ierīces kļūda vai ierīce ir bezsaistē”
- Iemesls: Nederīgs ceļš vai nepieejama tīkla koplietošanas vieta
- Risinājums: Pārbaudiet, vai ceļš pastāv, pārbaudiet tīkla savienojamību un nodrošiniet pietiekamu vietu diskā.
Kļūda: “Diskā nepietiek vietas”
- Iemesls: Nepietiek vietas diskā dublēšanai
- Risinājums: Atbrīvojiet vietu diskā, izmantojiet saspiešanu, dublējiet citā vietā
Kļūda: “Datubāze tiek izmantota. Datubāzi izmanto citi lietotāji”
- Iemesls: Aktīvie savienojumi atjaunošanas laikā
- Risinājums: Izmantojiet opciju WITH REPLACE vai vispirms atvienojiet lietotājus
12.2 Dublēšanas veiktspējas problēmas
Lēnu dublējumu diagnostika:
- Pārbaudiet diska I/O veiktspēju, izmantojot Performance Monitor
- Uzraugiet dublēšanas progresu, izmantojot STATS opciju
- Pārskats SQL Server kļūdu žurnāls sastrēgumiem
- Apsveriet saspiešanu, lai samazinātu I/O
- Izmantojiet svītrotās dublējumkopijas vairākos diskos
Vaicājums dublēšanas progresa uzraudzībai:
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 Vietas un uzglabāšanas problēmas
Novērst uzglabāšanas problēmas:
- Ieviest saglabāšanas politikas: Automātiski dzēst vecās dublējumkopijas
- Izmantojiet saspiešanu: Samaziniet dublējuma faila lielumu par 50–70 %
- Arhīvs uz lētāku krātuvi: Pārvietojiet vecās dublējumkopijas uz arhīva krātuvi
- Monitora diska vieta: Iestatiet brīdinājumus par nepietiekamu diska vietu
- Aptuvenais dublējuma lielums: Aprēķiniet paredzamo izmēru pirms dublēšanas
Aptuvenais dublējuma lielums:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Atļauju un piekļuves problēmas
Nepieciešamās atļaujas dublējumkopijām:
- REZERVES DATU BĀZE atļauja
- db_backupoperator lomas dalība
- sysadmin servera loma (visām dublēšanas darbībām)
Piešķirt dublēšanas atļaujas:
-- 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 Bojāti dublējuma faili
Bojātu dublējumu noteikšana un apstrāde:
Pārbaudiet dublējuma integritāti:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Iespējot kontrolsummu turpmākajām dublējumkopijām:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Profilakses stratēģijas:
- Dublēšanas laikā vienmēr izmantojiet opciju CHECKSUM
- Pārbaudiet dublējumus tūlīt pēc izveides
- Regulāri pārbaudiet atjaunojumus
- Saglabājiet dublējumkopijas uzticamā krātuvē
- Saglabājiet vairākas rezerves kopijas
12.6 Datu atgūšana no bojātiem dublējuma failiem
Ja jūsu dublējuma faili ir bojāti un jūs joprojām vēlaties atgūt no tiem datus, varat izmantot trešo pušu rīkus, piemēram, DataNumen SQL Recovery, kā norādīts zemāk:
- Start DataNumen SQL Recovery.
- Atlasiet bojāto dublējuma failu kā avota failu, mainot filtru uz “Visi faili (*.*)”:
- Ja nepieciešams, iestatiet izvades .MDF failu.
- Noklikšķiniet uz “Start Atkopšana” un izpildiet norādījumus, lai atjaunotu datubāzi.
- Pēc atkopšanas procesa parādīsies jauna atkopšanas datubāze. SQL Server kas satur visus atgūtos datus.
13. SQL Server Rezerves rezerves drošība
13.1 Dublējuma failu aizsardzība
Aizsargājiet dublējuma failus no nesankcionētas piekļuves:
- Failu sistēmas atļaujas: Ierobežot piekļuvi tikai pilnvarotiem administratoriem
- Tīkla drošība: Izmantojiet drošus protokolus tīkla dublējumkopijām
- Fiziskā drošība: Saglabājiet rezerves datu nesējus drošās vietās
- Piekļuves reģistrēšana: Audita dublējuma faila piekļuve
13.2 Šifrēšanas opcijas
SQL Server atbalsta caurspīdīgu dublējuma šifrēšanu:
Izveidojiet šifrēšanas sertifikātu:
-- 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
Šifrēta dublēšana:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Svarīgi: atsevišķi izveidojiet sertifikāta un privātās atslēgas dublējumu. Bez tiem šifrētas dublējumkopijas nevar atjaunot.
-- 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 Piekļuves kontrole un atļaujas
Ieviest mazāko privilēģiju principu:
- Piešķiriet dublēšanas atļaujas tikai nepieciešamajiem kontiem
- Dublēšanas un atjaunošanas darbībām izmantojiet atsevišķus kontus
- Izvairieties no SA konta izmantošanas dublējumkopijām
- Regulāri pārbaudiet dublēšanas atļaujas
- Noņemiet atļaujas, kad tās vairs nav nepieciešamas
13.4. Atbilstības apsvērumi
Risināt normatīvās prasības:
- GDPR: Šifrēt dublējumkopijas, kas satur personas datus, ieviest saglabāšanas politikas
- HIPAA: Šifrēt aizsargātu veselības informāciju (PHI) dublējumos, kontrolēt piekļuvi, uzturēt auditācijas ierakstus
- PCI DSS: Šifrējiet kartes turētāja datu dublējumus, nodrošiniet rezerves kopiju glabāšanu
- SOX: Saglabāt dublējuma integritāti, dokumentu saglabāšanas politikas
14. Rezerves kopēšanas darbību uzraudzība un uzturēšana
14.1 Rezerves kopiju vēstures izsekošana
SQL Server saglabā dublēšanas vēsturi msdb datubāzē:
-- 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
Atrodiet datubāzes bez nesenām dublējumkopijām:
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 Izmantojot SQL Server Ziņojumi
SQL Server Management Studio ietver iebūvētas rezerves kopijas:
- Ar peles labo pogu noklikšķiniet uz datubāzes objektu pārlūkā
- Izvēlēties Ziņojumi -> Standarta ziņojumi
- Izvēlieties no pieejamajām atskaitēm:
- Dublēšanas un atjaunošanas notikumi
- Visas rezerves kopijas
- Darījumu žurnāla piegādes statuss
14.3 Trešo pušu uzraudzības rīki
Komerciālie uzraudzības risinājumi:
- SQL Sentry: Visaptveroša uzraudzība un brīdināšana
- Redgate SQL monitors: Reāllaika uzraudzība un diagnostikaostICS
- SolarWinds datubāzes veiktspējas analizators: Veiktspējas un dublējuma uzraudzība
- Idera SQL diagnostikaostic pārvaldnieks: Rezerves kopijas validācija un brīdināšana
14.4 Rezerves veselības pārbaudes
Izveidojiet veselības pārbaudes procedūru:
-- 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 Bieži uzdotie jautājumi par dublēšanu
15.1 Cik bieži man vajadzētu veidot dublējumu SQL Server?
Dublēšanas biežums ir atkarīgs no jūsu atkopšanas punkta mērķa (RPO):
- Kritiskās ražošanas datubāzes: Pilna iknedēļas, diferenciālā ikdiena, žurnāls ik pēc 15–30 minūtēm
- Standarta ražošanas datubāzes: Pilna iknedēļas, diferenciālā ikdiena, žurnāls ik pēc 1-2 stundām
- Izstrādes datubāzes: Pilna dienas vai nedēļas
- Tikai lasāmas datubāzes: Pilns pēc katras datu maiņas
15.2 Kāda ir atšķirība starp pilnu un diferenciālo dublēšanu?
Pilna dublējumkopija kopē visu datubāzi, savukārt diferenciālā dublējumkopija fiksē tikai izmaiņas kopš pēdējās pilnās dublējumkopijas. Diferenciālās dublējumkopijas ir mazākas un ātrākas, taču atjaunošanai ir nepieciešama pilna pamata dublējumkopija.
15.3 Vai es varu izveidot dublējumu SQL Server Kamēr tas darbojas?
Jā, SQL Server atbalsta tiešsaistes dublēšanu. Lietotāji var turpināt darbu dublēšanas darbību laikā. SQL Server izmanto savu darījumu žurnālu, lai saglabātu konsekvenci, nodrošinot, ka dublējumkopijas ir derīgas pat ar vienlaicīgām izmaiņām.
15.4 Cik ilgi tas notiek? SQL Server Rezerves kopijas uzņemšana?
Rezerves kopijas ilgums atšķiras atkarībā no:
- Datubāzes lielums: Lielākām datubāzēm nepieciešams ilgāks laiks
- Rezerves veids: Pilnas dublējumkopijas aizņem visilgāko laiku
- Compression: Var palielināt procesora laiku, bet samazināt kopējo ilgumu
- Uzglabāšanas ātrums: SSD diski ir ievērojami ātrāki nekā HDD diski
- Servera slodze: Lielāka aktivitāte palēnina dublēšanu
Tipiski diapazoni: 10 GB datubāzes pilnīgai dublēšanai ar saspiešanu modernā aparatūrā var būt nepieciešamas 5–15 minūtes.
15.5 Kur man vajadzētu uzglabāt SQL Server Rezerves kopijas?
Labākā prakse: Ievērojiet noteikumu 3-2-1:
- 3 jūsu datu kopijas
- 2 dažādi krātuves veidi (piemēram, disks un lente/mākonis)
- 1 kopiju ārpus vietnes
Ieteicamās atrašanās vietas:
- Lokālais disks ātrai atkopšanai
- Tīkla krātuve centralizētai pārvaldībai
- Mākoņkrātuve (Azure, AWS) katastrofu atkopšanai
15.6 Kas ir .bak faila paplašinājums?
Paplašinājums .bak ir noklusējuma faila paplašinājums SQL Server dublējuma faili. Tā ir konvencija, nevis prasība – SQL Server Dublējumi darbojas ar jebkuru faila paplašinājumu. Tomēr, izmantojot .bak, dublējuma faili ir viegli identificējami, un tā ir nozares standarta prakse.
15.7 Kā dublēt SQL Server uz tīkla disku?
Lai dublētu tīkla diskā:
- Nodrošināt SQL Server pakalpojuma kontam ir rakstīšanas atļaujas tīkla koplietojumā
- Rezerves komandā izmantojiet UNC ceļu:
\\ServerName\ShareName\BackupFile.bak - Pirms automātisko dublējumu plānošanas pārbaudiet savienojamību
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Vai es varu saspiest SQL Server Rezerves kopijas?
Jā, SQL Server atbalsta vietējo dublējuma saspiešanu (Enterprise Edition vai Standard Edition)tarTing SQL Server 2016 SP1). Saspiešana parasti samazina dublējuma lielumu par 50–70 % un bieži vien samazina dublējuma laiku, samazinot ievadizvadi, lai gan tā palielina centrālā procesora noslodzi.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. secinājums
16.1 atslēgas līdzņemšanai
Efektīvs SQL Server Dublēšanas stratēģijas aizsargā jūsu datus un nodrošina uzņēmējdarbības nepārtrauktību. Atcerieties šos svarīgos punktus:
- Izprotiet dublējumu veidus: Izvēlieties atbilstošus dublējuma veidus (pilnu, diferenciālu, darījumu žurnāla) atkarībā no atkopšanas prasībām.
- Izvēlieties atbilstošu atkopšanas modeli: Pilnīga kritiski svarīgu datu atgūšana, vienkārša izstrādes datubāzēm
- Ieviest dublēšanas grafiku: Regulāras pilnas dublējumkopijas apvienojumā ar diferenciālajām un žurnālu dublējumkopijām samazina datu zudumu
- Testa atjaunošanas procedūras: Rezerves kopijas ir vērtīgas tikai tad, ja tās var veiksmīgi atjaunot
- Automatizēt un uzraudzīt: lietošana SQL Server Aģents, apkopes plāni un uzraudzības rīki
- Drošas dublējumkopijas: Šifrējiet sensitīvus datus un kontrolējiet piekļuvi dublējuma failiem
- Saglabājiet kopijas ārpus vietnes: Aizsargājieties pret katastrofām visā objektā, izmantojot mākoņkrātuvi vai attālo krātuvi
- Visu dokumentē: Uzturēt skaidru dokumentāciju par dublēšanas un atkopšanas procedūrām
16.2. Nākamie soļi un resursi
Lai uzlabotu savu SQL Server rezerves kopijas ieviešana:
- Novērtējiet savu pašreizējo dublēšanas stratēģiju, ņemot vērā labāko praksi
- Aprēķiniet savas RTO un RPO prasības
- Testa atjaunošanas procedūras neražošanas sistēmās
- Regulāri pārskatiet un atjauniniet dublēšanas grafikus
- Ieviest automatizētu uzraudzību un brīdināšanu
- Apmācīt komandas locekļus atjaunošanas procedūrās
Papildu resursi:
- microsoft SQL Server Dokumentācija: Oficiālas dublēšanas un atjaunošanas vadlīnijas
- SQL Server dublēšanas kopienas forumi: dalieties pieredzē un risinājumos
- Profesionālās sertifikācijas: Microsoft sertificēts: Azure datubāzes administratora asociētais speciālists
16.3 Ieteicamie rīki un risinājumi
Balstoties uz dažādiem scenārijiem:
Mazie uzņēmumi:
- Dzimtais SQL Server dublēšana ar ieplānotu SQL Server Aģenta darbi
- SQLBackupAndFTP mākoņa integrācijai
- Azure dublēšana SQL Server
Vidējie uzņēmumi:
- SQL Server Apkopes plāni
- Trešo pušu rīki, piemēram, Redgate SQL Backup Pro
- Veeam dublējums priekš SQL Server
Lielie uzņēmumi:
- Quest LiteSpeed maksimālai saspiešanai
- Commvault vai Veritas NetBackup uzņēmuma dublējumu pārvaldībai
- Vienmēr ieslēgtas pieejamības grupas augstai pieejamībai
SQL Server Dublēšana ir būtiska datubāzes administrēšanai. Ar pareizu plānošanu, ieviešanu un testēšanu jūs varat nodrošināt, ka jūsu dati paliek aizsargāti un atgūstami, kad tas nepieciešams.tart ieviešot šo labāko praksi jau šodien, lai nodrošinātu savu drošību SQL Server datubāzes.
par autoru
Juaņs Šens ir vecākais datubāzes administrators (DBA) ar vairāk nekā 10 gadu pieredzi SQL Server vides un uzņēmumu datubāzu pārvaldību. Viņš ir veiksmīgi atrisinājis simtiem datubāzu atkopšanas scenāriju finanšu pakalpojumu, veselības aprūpes un ražošanas organizācijās.
Juaņa specializējas SQL Server datubāzu atjaunošana, augstas pieejamības risinājumi un veiktspējas optimizācija. Viņa plašā praktiskā pieredze ietver vairāku terabaitu datubāzu pārvaldību, Always On pieejamības grupu ieviešanu un automatizētu dublēšanas un atkopšanas stratēģiju izstrādi kritiski svarīgām biznesa sistēmām.
Izmantojot savu tehnisko pieredzi un praktisko pieeju, Juans koncentrējas uz visaptverošu rokasgrāmatu izveidi, kas palīdz datubāzu administratoriem un IT speciālistiem risināt sarežģītus jautājumus SQL Server efektīvi izaicina. Viņš seko līdzi jaunākajām tendencēm SQL Server laidieniem un Microsoft attīstītajām datubāzu tehnoloģijām, regulāri testējot atkopšanas scenārijus, lai nodrošinātu, ka viņa ieteikumi atspoguļo labāko praksi reālajā pasaulē.
Ir jautājumi par SQL Server atkopšanai vai nepieciešama papildu palīdzība datubāzes problēmu novēršanā? Juans laipni aicina atsauksmes un ieteikumi lai uzlabotu šos tehniskos resursus.











