- Izguba podatkov je pogosta težava, vendar vam bomo pokazali, kako popraviti poškodovano bazo podatkov v strežniku SQL Server.
- Ta težava lahko izvira iz preprostega prepisa ali nenamernega izbrisa datoteke do okužb z virusi in nepravilne konfiguracije.
- Nepravilno delovanje pomnilniškega pogona lahko povzroči tudi poškodbe datotek, kar vključuje vašo bazo podatkov SQL.
Seveda je iz očitnih razlogov frustrirajuće odkriti poškodovano bazo podatkov na vašem strežniku SQL Server. Ne morete dostopati do informacij in vaše delo je na koncu.
Vendar pa obstaja veliko načinov, kako lahko to težavo odpravite z ročnimi rešitvami ali z uporabo pametnega, namenskega orodja drugega proizvajalca, imenovanega Recovery Toolbox za SQL Server.
Toda preden začnemo z odpravljanjem težav, razumemo in malo raziščimo, zakaj se ta težava sploh pojavlja.
Kaj je strežnik SQL in kako lahko prepoznamo bazo podatkov?
SQL Server je sistem baze podatkov, ki ga je razvil Microsoft, ki se uporablja za upravljanje, shranjevanje in pridobivanje podatkov s strani drugih aplikacij.
Obstajajo tri vrste datotek za shranjevanje in upravljanje podatkov v strežniku SQL: primarne datoteke (s pripono .MDF), sekundarne datoteke (s pripono .NDF) in datoteke dnevnika (s pripono .LDF).
Zanimajo nas predvsem te datoteke MDF, ker so tiste, ki zagotavljajo shranjevanje baze podatkov.
Zakaj se baza podatkov poškoduje na strežniku SQL?
Obstaja veliko možnih razlogov, zakaj se lahko vaša baza podatkov strežnika SQL poškoduje, od preprostega prepisa ali nenamernega izbrisa datoteke do okužb z virusi in nepravilne konfiguracije.
Oglejmo si nekaj najpogostejših vzrokov za to težavo:
- Prepisovanje datoteke – Če po pomoti pišete prek obstoječe datoteke MDF, tvegate, da poškodujete bazo podatkov
- Poskušam odkleniti bazo podatkov SQL - Če ti pozabil geslo SQL in ga prevečkrat vnesete napačno, lahko to privede do okvare strežnika SQL
- Napaka na vašem pogonu za shranjevanje – Samoumevno je, da lahko okvara pogona povzroči poškodovanje datotek, vključno z bazo podatkov
- Težave s konfiguracijo baze podatkov SQL – Če se konfiguracija SQL spremeni, lahko to onemogoči dostop do datotek MDF
- Virusna okužba – To je pogosta težava za poškodbe vseh datotek, ne samo za datoteke baze podatkov SQL in tudi če odstranite virus z uporabo najboljših protivirusnih programov, lahko na žalost še vedno izgubite nekaj podatkov
- notranje napake SQL – Čeprav je močna rešitev, lahko še vedno vsebuje napake, ki lahko povzročijo poškodbe datotek MDF
Glede na to sledite našemu vodniku po korakih, če želite izvedeti, kako popraviti datoteko baze podatkov SQL na strežniku SQL.
Kako lahko popravim poškodovano bazo podatkov v strežniku SQL?
OPOMBA
Opomba: Preden karkoli začnete, naredite varnostno kopijo knjižnice SQL.
1. Znova zaženite strežnik SQL
- Odprite terminal in vnesite naslednji ukaz, da zaustavite SQL Server:
systemctl mysql stop
- Če želite preveriti stanje strežnika SQL Server, vnesite naslednji ukaz in pritisnite Vnesite:
status mysql.service
- Zdaj znova zaženite SQL Server tako, da v terminalu izvedete naslednji ukaz:
znova zaženite mysql.service
Včasih lahko težavo rešite tako, da znova zaženete strežnik SQL. Seveda ne deluje vsakič, vendar je tako enostavno izvesti, da ne bi škodilo izvajati.
2. Popravite poškodovano mizo
- Zaženite strežnik SQL.
- Vnesite naslednji ukaz in pritisnite Vnesite za zagon:
PREVERI TABELE ime_tabele;
- Če zazna težave s tabelo, vnesite naslednji ukaz in pritisnite Vnesite:
TABELA ZA POPRAVILA ime_tabele;
TABELA POPRAVIL vam bo pomagala popraviti tabelo in enako lahko storite za vse druge poškodovane, vendar na ta način lahko izgubite nekaj podatkov iz tabele.
3. Uporabite ukaz mysqlcheck
- Odprite terminal in vnesite ali prilepite naslednji ukaz, da pridete do mape baze podatkov, in pritisnite Vnesite:
cd /var/lib/mysql
- Zdaj vnesite naslednji ukaz, da preizkusite tabelo, in pritisnite Vnesite. Poskrbite, da boste zamenjali in z dejanskimi imeni:
mysqlcheck
- Če se prikaže sporočilo, da je tabela poškodovana, vnesite naslednji ukaz, da jo popravite, in pritisnite Vnesite:
mysqlcheck -r
4. Uporabite ukaze ALTER TABLE
- Vnesite naslednji ukaz, da preverite vrsto tabele (v našem primeru je to tabela MyISAM):
POKAŽI USTVARJANJE TABELE
;
- Če želite znova zgraditi tabelo, vnesite naslednji ukaz in pritisnite Vnesite:
ALTER TABLE
MOTOR = MyISAM;
- Če imate zbirko podatkov InnoDB, namesto tega vnesite naslednji ukaz:
ALTER TABLE
MOTOR = InnoDB;
- Prenesite in namestite Microsoft SQL Server 2019
- Najboljša programska oprema za varnostno kopiranje strežnika SQL [brezplačno in plačano]
- Kako zavarovati bazo podatkov strežnika SQL
5. Popravite bazo podatkov z orodjem Recovery Toolbox za SQL Server
- Pojdite na namensko stran Recovery Toolbox for SQL Server in kliknite na Prenesi gumb.
- Namestite aplikacijo, ko izberete jezik in sprejmete licenčno pogodbo.
- Kliknite Končaj za zagon orodja za popravilo SQL Server MDF.
- Izberite poškodovano *.mdf datoteko s klikom na ikono izvorne mape.
- Ko ga izberete, kliknite na Naslednji gumb.
- Zdaj si boste lahko predogledali podatke, ki jih je mogoče pridobiti iz poškodovane baze podatkov Microsoft SQL Server. Kliknite Naprej v oknu orodja za obnovitev Microsoft SQL MDF, da začnete postopek.
- Zdaj morate samo izbrati način izvoza podatkov. Lahko ga shranite kot skripti SQL na disk in celo izvajati skript SQL neposredno v bazi podatkov.
- Na koncu izberite, katere podatke želite shraniti, in kliknite Zaženite obnovitev.
Torej, to je kako popraviti datoteke baze podatkov SQL strežnika s tem preprostim in učinkovitim orodjem. Kot lahko vidite, bo delo opravljeno veliko hitreje.
The Orodje za obnovitev strežnika MS SQL vam bo pomagal tudi, če se soočate z naslednjimi težavami z bazo podatkov MDF:
- Napaka Microsoft SQL Server 5172 – Lastnost FILE SIZE ni pravilna
- SQL Server je zaznal V/I napako, ki temelji na logični doslednosti – To je napačna kontrolna vsota, sicer znana kot napaka 824 v strežniku SQL
- Na stran zemljevida dodelitve indeksa (IAM) kaže naslednji kazalec strani IAM – To je precej pogosta težava
- V/I napaka, napačen ID strani, zaznan pri branju pri odmiku 0x###### v datoteki Ime datoteke.mdf – To se ne zdi pogosto, vendar ga lahko še vedno popravite s tem majhnim orodjem
- Videti je, da je bila datoteka obrezana zaradi napake operacijskega sistema – Najverjetneje je posledica težave s konfiguracijo
- Pri ID-ju zapisa dnevnika je prišlo do napake – Pojavi se med ponovnim izvajanjem zabeležene operacije v bazi podatkov
Pravzaprav z Recovery Toolbox za SQL Server popravite vse predmete poškodovanih datotek .mdf, vključno z vrstami podatkov, tabelo podatki celice, pogledi, shranjene procedure, funkcije po meri, sprožilci, indeksi, primarni in tuji ključi, omejitve in drugi.
Velika prednost pa je, da lahko popravljene podatke nemoteno izvozite neposredno v Microsoft SQL Server iz aplikacije.
To je to! Zdaj veste, kako popraviti svojo bazo podatkov SQL Server ročno ali z uporabo namenskega orodja.
Če poznate dodatne metode ali imate kakršna koli vprašanja, jih čakamo v spodnjem razdelku za komentarje.