Quantcast
Channel: Knaģa emuāri - Serveru programmatūra
Viewing all articles
Browse latest Browse all 7

MSSQL rezerves kopiju problēmas

$
0
0

Savulaik, strādājot ar MySQL, priecājos par iespēju veidot ērtas rezerves kopijas ar mysqldump. Pēcāk, pārejot uz Microsoft SQL Server, priecājos par iespēju izmantot iebūvēto rezerves kopiju veidošanu, kas gan nebija tik ērti izmantojama citiem mērķiem kā parasti SQL skripti, bet toties tika veidoti krietni ātrāk un deva iespēju veidot inkrementālas rezerves kopijas.

Tomēr pēc kāda laika tika apzinātas vairākas problēmas, kas piemīt iebūvētajām backup funkcijām, kad tās izmanto, piemēram, katras nakts rezerves kopiju veidošanai, no kurām dažas:

  • nav iespējams norādīt, pret kuru pilno rezerves kopiju tiks veikta inkrementālā – tā vienmēr būs pret pēdējo pilno;
  • nav iespējas automātiski dzēst vecās rezerves kopijas (lai gan katrai rezerves kopijai var norādīt, cik ilgi tā būs derīga).

Otro problēmu daļēji risina Maintenance plan uzdevums, kas tīra rezerves kopiju vēsturi. Taču – tas tīra rezerves kopijas, nevis, ievērojot katras kopijas derīguma laiku, bet gan visas, kas vecākas par x dienām.

Pirmo problēmu iespējams daļēji risināt, izmantojot COPY_ONLY parametru BACKUP operācijai. Tas gan neļauj norādīt, ka inkrementālā kopija jāveido uz noteiktas pilnās kopijas bāzes, taču tas ļauj izveidot kopijas, kas ir neatkarīgas, un kuru izdzēšana nesabojās kādu citu kopiju.

Tieši šis pēdējais faktors bieži ir bijis ļoti svarīgs – ir nepieciešams izveidot automātiskās rezerves kopijas katru nakti, bet paralēli tam nepieciešams ļaut datubāzes administratoram pašam spēlēties ar savām rezerves kopijām – tās dzēst, veidot utt. Un automātiskās kopijas netiek glabātas ilgāk kā, piemēram, nedēļu, kamēr manuāli veidotās var tikt saglabātas bezgalīgi.

Lai ar šīm problēmām cīnītos, kā arī ērti automatizētu vairāku servera instanču rezerves kopiju veidošanu, uzrakstīju nelielu programmiņu, kas automātiski veic šādu kopiju veidošanu. Programmu ar visu pirmkodu drīzumā nopublicēšu, ja nu gadījumā vēl kāds atpazīst aprakstītajā savas problēmas (vai varbūt tagad saprot, ka savs esošais mehānisms īsti pareizi nestrādā).

Microsoft SQL Server backup iespējas gan sniedzas tālāk par parastu rezerves kopiju veidošanu (piemēram, transaction logbackup-ošana), taču ikdienā lielākā daļa lietotāju izmanto šādu vienkāršotu pieeju.

Papildināts: MSSQL rezerves kopiju veidošana


Viewing all articles
Browse latest Browse all 7

Trending Articles