Prvih 60 minuta za oporavak SQL baze, hitni koraci za DBA
Ako medij pokazuje fizičke simptome (čudni zvukovi, nestabilno prepoznavanje, prekidi napajanja) odmah ga izolirajte i kontaktirajte laboratorij. Ako je riječ o logičkoj grešci i postoji potpun lanac backupa u Full Recovery modelu, slijedite standardnu restore sekvencu: full → differential → log → recovery. Sve između ta dva scenarija zahtijeva procjenu prije nego što dirnete disk ili pokrenete DBCC popravak.
Ukratko:
- Prvih sat vremena ključni su za dijagnostiku i sprječavanje daljnjih oštećenja pri oštećenju baze ili hardvera; panika i nasumični popravci smanjuju šanse za oporavak.
- Ako se čuju mehanički zvukovi ili disk nije prepoznat, odmah isključite uređaj i kontaktirajte stručnjake za spašavanje podataka.
- Pokušaji brze popravke poput
chkdskiliREPAIR_ALLOW_DATA_LOSSmogu trajno narušiti podatke i povećati rizik za oporavak.- Odabir odgovarajućeg recovery modela i redoslijed restore-a važan je za minimalan gubitak podataka i uspješan povrat baze.
- Ako disk ne funkcionira ili je oštećen, preporuča se hitno angažirati laboratorij za spašavanje podataka prije daljnjih pokušaja popravka.
Sadržaj
- Prvih 60 minuta: dijagnostika i hitno postupanje
- Zašto ne smijete eksperimentirati s oštećenim medijem
- Recovery modeli i standardna restore sekvenca
- DBCC CHECKDB i kada je popravak zadnja opcija
- Kada zvati laboratorij i što laboratorij radi
- Testiranje backupa kao prva linija obrane
- Kako Datarecovery pomaže kad restore ne uspije
- Izvori
Prvih 60 minuta: dijagnostika i hitno postupanje
Prvih 60 minuta odlučuje koliko će oporavak sql baze biti izvediv. Panika i nasumični pokušaji popravka najčešće smanjuju šanse za potpuni povrat podataka, dok mirna, redoslijedom vođena dijagnostika ostavlja sve opcije otvorene.
- Pročitajte SQL error log i Windows Event Viewer. Poruke poput “cannot be opened due to inconsistent property values” ili I/O grešaka na razini diska ukazuju na oštećenje datoteka, dok se hardverski problemi obično vide kroz ponavljane timeout ili retry poruke na razini operacijskog sustava.
- Provjerite je li baza dostupna za tail-log backup. Ako je SQL Server servis još aktivan i datoteke se čitaju, odmah izradite tail-log backup naredbom
BACKUP LOG ... WITH NORECOVERYprije bilo kakve druge intervencije. - Kopirajte MDF, LDF i backup datoteke na drugu lokaciju. Radite isključivo s kopijama, nikad s originalom.
- Ako disk nije prepoznat ili se čuju mehanički zvukovi, isključite uređaj odmah. Svaki dodatni pokušaj čitanja pogoršava stanje kod fizičkog kvara medija, a daljnje postupke prepustite specijaliziranom laboratoriju.
Zašto ne smijete eksperimentirati s oštećenim medijem
Ponovno pokretanje servisa, restart poslužitelja ili pokušaj “brzog popravka” na oštećenom disku obično trajno umanjuje šanse spašavanja jer se svaki ciklus rada mehanike ili flash memorije odvija preko površine koja je već narušena. Laboratorijska praksa je jasna: kod znakova fizičkog kvara medij se prekida s radom odmah, a ne nakon što ste “još jednom probali”.
Najčešće greške koje administratori i danas rade:
- pokretanje
chkdskili sličnih alata za popravak sustava datoteka na disku sa sumnjivim sektorima - izvođenje
DBCC CHECKDBs opcijomREPAIR_ALLOW_DATA_LOSSbez prethodnog backupa ili tail-log kopije - kopiranje velikih datoteka natrag na isti oštećeni disk, čime se prepisuju preostali čitljivi blokovi
- ostavljanje servera da “sam pokuša ponovno” nakon pada, umjesto ručnog isključivanja uređaja
Profesionalni savjet: Dokumentirajte incident prije nego što dirnete bilo što — vrijeme kvara, poruke iz loga, posljednju uspješnu operaciju i naziv baze. Taj zapis će laboratoriju uštedjeti sate dijagnostike i vama pomoći da izbjegnete ponavljanje istih koraka. Detaljan popis grešaka koje treba izbjeći nakon pada diska dostupan je u vodiču o kritičnim greškama, a tko razmišlja o samostalnom pokušaju prije poziva stručnjacima, vrijedi pročitati i analizu rizika DIY pristupa.
Recovery modeli i standardna restore sekvenca
Odabir recovery modela određuje koliko podataka možete vratiti i koliko precizno. Simple model automatski briše transakcijski log i ne dopušta point-in-time restore, pa je gubitak podataka između backupa neizbježan. Full model čuva sve transakcije u logu dok ih ne backupirate, čime omogućuje point-in-time oporavak i minimalan gubitak podataka u produkciji. Bulk-logged je kompromis za masovne operacije, ali ograničava preciznost restore-a na razdobljima s bulk operacijama.
Standardna restore sekvenca za logičku grešku, uz pretpostavku da datoteke nisu fizički nedostupne, uključuje niz koraka organiziranih u logički ispravan redoslijed.
- Izradite tail-log backup ako je baza još dostupna, koristeći
WITH NORECOVERYkako bi baza ostala u stanju za nastavak restore-a. - Vratite posljednji full backup naredbom
RESTORE DATABASE ... WITH NORECOVERY. - Vratite posljednji differential backup, ako postoji, i time preskočite dio log lanca te ubrzajte proces.
- Vratite sve log backupove redom, bez preskakanja, jer je neprekinuti lanac log backupa uvjet za point-in-time i page/file restore.
- Izvršite završni
RESTORE DATABASE ... WITH RECOVERYkako bi baza postala dostupna za rad.
Ako tail-log backup nije moguć jer su datoteke nedostupne, dokumentirajte svaki korak i razmotrite mogućnost manualne rekonstrukcije transakcija iz preostalih struktura, po potrebi uz konzultaciju s laboratorijem. Differential restore ovdje nije samo tehnička sitnica; kod baza od nekoliko stotina gigabajta razlika u vremenu restore-a može biti mjerena satima.
DBCC CHECKDB i kada je popravak zadnja opcija
DBCC CHECKDB je alat za provjeru logičke i fizičke konzistentnosti baze, a njegov izvještaj otkriva koje su stranice, indeksi ili tablice oštećeni. Prije samog popravka pokrenite ga s opcijom WITH ESTIMATEONLY kako biste procijenili potreban prostor u tempdb, umjesto da resurse potrošite na pokušaj koji možda ne stane u dostupan prostor.
Opcija REPAIR_ALLOW_DATA_LOSS može ukloniti oštećene stranice iz baze, ali to znači nepovratan gubitak svih podataka na tim stranicama. Nikad je ne pokrećite bez prethodnog backupa cijele baze ili barem tail-log kopije.
Preporučeni redoslijed prije bilo kakvog popravka:
- napravite kompletan backup ili kopiju datoteka na drugu lokaciju
- pokrenite popravak na kopiji baze, nikad na produkcijskoj instanci
- nakon popravka provedite funkcionalne testove aplikacije, ne samo provjeru da se baza otvara
Administratori često koriste Emergency mode kako bi vratili pristup bazi, no to ne garantira ispravnost podataka. Baza može izgledati “online”, a logička konzistentnost ostati narušena, pa je testiranje aplikacije nakon takvog koraka obavezno.
Rizik u brojkama: REPAIR_ALLOW_DATA_LOSS se u dokumentaciji izričito označava kao zadnji korak, ne kao standardna procedura, jer trajno briše dio podataka. Svaki DBA koji tu opciju pokrene bez backupa preuzima rizik da izgubi upravo ono što je pokušavao spasiti.
Kada zvati laboratorij i što laboratorij radi
Neki signali jasno pokazuju da samostalni pokušaji restore-a više nisu opcija:
- disk se ne prepoznaje u sustavu ili se čuju mehanički zvukovi
- MDF ili LDF datoteke su nečitljive ili se ne mogu otvoriti alatima za restore
- log lanac je prekinut, a point-in-time restore je nemoguć bez rekonstrukcije
DBCC CHECKDBprijavljuje ozbiljna oštećenja, a popravak bez gubitka podataka nije moguć standardnim putem- restore je više puta pokušan i neuspješan, a vrijeme je kritičan faktor za poslovanje
U takvim slučajevima specijalizirani laboratorij prvo radi forenzički image medija, tako da sve daljnje radnje idu na kopiji, dok izvorni podaci ostaju netaknuti. Rad u clean room okruženju i primjena ISO 9001:2015 standarda osiguravaju da se fizički zahvati na disku ne izvode nasumično, nego prema dokumentiranom protokolu, nakon čega slijedi logička rekonstrukcija baze i validacija vraćenih podataka prije isporuke.
Uz uređaj ili prijavu vrijedi priložiti: opis simptoma i vremenski slijed događaja, zadnji poznati uspješan backup, poruke iz SQL error loga, verziju SQL Servera i, ako postoji, kopiju tail-log backupa. Što više konteksta laboratorij dobije unaprijed, brža je dijagnostika.
Testiranje backupa kao prva linija obrane
Backup koji nikad nije testiran restore-om nije backup, nego pretpostavka. Redovito testiranje restore-a na izoliranoj infrastrukturi, uz dokumentirani playbook za incidente, znatno smanjuje vrijeme oporavka i stvarni poslovni utjecaj kvara.
Konkretne preporuke za produkcijsko okruženje:
- koristite Full Recovery model za sve baze gdje je gubitak podataka neprihvatljiv, a Simple ostavite samo za baze gdje su podaci lako obnovljivi iz drugog izvora
- radite česte log backupove, po mogućnosti na intervalu koji odgovara vašem prihvatljivom gubitku podataka (RPO)
- uvedite differential backupove između full backupova kako biste ubrzali restore kod velikih baza
- automatizirajte periodično testiranje restore-a, a ne samo provjeru da backup datoteka postoji na disku
- provjerite politiku recovery modela na svim produkcijskim bazama, jer baza koja je nepažnjom ostala u Simple modelu gubi mogućnost point-in-time restore-a
Profesionalni savjet: Always On dostupnostne grupe i Accelerated Database Recovery poboljšavaju dostupnost i brzinu rollbacka, ali ne zamjenjuju backup. Baza s narušenom stranicom replicira se na sve replike jednako uspješno kao i ona bez greške. Praktičan pregled koraka za testiranje backupa u korporativnom okruženju nalazi se u vodiču o testiranju backupa.
Kako Datarecovery pomaže kad restore ne uspije
Kada standardni restore ne uspije, ili je medij fizički oštećen, samostalno pokušavanje daljnjih popravaka nosi veći rizik nego korist. Datarecovery je alternativa koju birate umjesto ponavljanja neuspješnih pokušaja restore-a: laboratorij radi na kopiji medija, ne na originalu, čime se izbjegava dodatno trošenje preostalog kapaciteta za spašavanje.

Laboratorij radi u kontroliranim uvjetima clean rooma i ima iskustvo u rekonstrukciji MDF/LDF datoteka te oštećenih RAID polja, gdje logička greška često nije jedini problem. Zahtjev se predaje uz opis simptoma, posljednji poznati backup i podatke o konfiguraciji sustava, a hitna dijagnostika daje procjenu izvedivosti prije nego što se odobri daljnji rad. Ako se suočavate s gubitkom podataka na SQL bazi koja se ne vraća standardnim restore postupkom, ili sumnjate na oštećenje diska u RAID sustavu, prijavite uređaj putem stranice za spašavanje podataka i zatražite procjenu prije nego pokušate dodatne popravke.
