- Datu zudums ir izplatīta problēma, taču mēs parādīsim, kā labot bojātu datubāzi SQL Server.
- Šīs problēmas cēlonis var būt vienkārša pārrakstīšana vai nejauša faila dzēšana, vīrusu infekcijas un nepareiza konfigurācija.
- Krātuves diska darbības traucējumi var izraisīt arī failu bojājumus, tostarp jūsu SQL datu bāzi.

Protams, acīmredzamu iemeslu dēļ ir nepatīkami atklāt bojātu datubāzi savā SQL serverī. Jūs nevarat piekļūt informācijai, un jūsu darbs ir apstājies.
Tomēr ir daudz veidu, kā novērst šo problēmu, izmantojot manuālus risinājumus vai gudru, īpašu trešās puses rīku SQL Server atkopšanas rīklodziņš.
Bet pirms problēmu novēršanas sākšanas sapratīsim un nedaudz izpētīsim, kāpēc šī problēma rodas.
Kas ir SQL serveris un kā mēs varam identificēt datu bāzi?
SQL Server ir Microsoft izstrādāta datu bāzes sistēma, ko izmanto datu pārvaldībai, glabāšanai un izgūšanai citās lietojumprogrammās.
Datu glabāšanai un pārvaldībai SQL serverī ir trīs veidu faili: primārie faili (ar paplašinājumu .MDF), sekundārie faili (ar paplašinājumu .NDF) un žurnālfaili (ar paplašinājumu .LDF).
Mūs īpaši interesē šie MDF faili, jo tie nodrošina datu bāzes krātuvi.
Kāpēc datubāze tiek bojāta SQL serverī?
Ir daudz iemeslu, kāpēc jūsu SQL servera datu bāze var tikt bojāta, sākot no vienkāršas pārrakstīšanas vai nejaušas faila dzēšanas līdz vīrusu infekcijām un nepareizai konfigurācijai.
Apskatīsim dažus no visbiežāk sastopamajiem šīs problēmas cēloņiem:
- Faila pārrakstīšana – Ja kļūdas dēļ ierakstāt pār esošu MDF failu, jūs riskējat sabojāt datubāzi
- Mēģina atbloķēt SQL datu bāzi – Ja tu aizmirsu SQL paroli un ievadiet to nepareizi pārāk daudz reižu, tas var izraisīt SQL servera bojājumu
- Kļūme jūsu krātuves diskā - Pats par sevi saprotams, ka diska darbības traucējumi var izraisīt failu, tostarp datu bāzes, bojājumus
- Problēmas ar SQL datu bāzes konfigurāciju – Ja mainās SQL konfigurācija, tas var atspējot piekļuvi MDF failiem
- Vīrusa infekcija - Tā ir izplatīta problēma jebkura faila bojājuma gadījumā, ne tikai SQL datu bāzes failiem, un pat tad, ja jūs noņemat vīrusu, izmantojot labākos antivīrusus, diemžēl jūs joprojām varat zaudēt dažus datus.
- SQL iekšējās kļūdas - Lai gan tas ir spēcīgs risinājums, tajā joprojām var būt kļūdas, kas var izraisīt MDF failu bojājumus
Tomēr izpildiet mūsu soli pa solim sniegto ceļvedi, lai uzzinātu, kā labot SQL datu bāzes failu SQL serverī.
Kā es varu salabot bojātu datu bāzi SQL Server?
PIEZĪME
Piezīme: Pirms kaut ko sākat, veiciet SQL bibliotēkas dublējumu.
1. Restartējiet SQL serveri
- Atveriet termināli un ievadiet šo komandu, lai apturētu SQL Server:
systemctl mysql stop
- Lai pārbaudītu SQL servera statusu, ierakstiet šo komandu un nospiediet Ievadiet:
statuss mysql.service
- Tagad restartējiet SQL serveri, terminālī izpildot šādu komandu:
restartējiet mysql.service
Dažreiz problēmu var atrisināt, vienkārši restartējot SQL serveri. Protams, tas nedarbojas katru reizi, bet tas ir tik vienkārši izpildāms, ka tas nenāktu par ļaunu.
2. Izlabojiet bojāto galdu
- Palaidiet SQL serveri.
- Ierakstiet šādu komandu un nospiediet Ievadiet lai to palaistu:
PĀRBAUDĪT TABULU_tabulas_nosaukums;
- Ja tiek konstatētas problēmas ar tabulu, ierakstiet šo komandu un nospiediet Ievadiet:
REMONTA TABULA_galda_nosaukums;
REMONTA TABULA palīdzēs jums salabot tabulu, un jūs varat darīt to pašu ar jebkuru citu bojātu tabulu, taču šādā veidā jūs varat zaudēt dažus tabulas datus.
3. Izmantojiet komandu mysqlcheck
- Atveriet termināli un ierakstiet vai ielīmējiet šo komandu, lai sasniegtu datu bāzes mapi, un nospiediet Ievadiet:
cd /var/lib/mysql
- Tagad ierakstiet šo komandu, lai pārbaudītu tabulu, un nospiediet Ievadiet. Noteikti nomainiet un ar īstajiem nosaukumiem:
mysqlcheck
- Ja tiek parādīts ziņojums, ka tabula ir bojāta, ierakstiet šo komandu, lai to labotu, un nospiediet Ievadiet:
mysqlcheck -r
4. Izmantojiet komandas ALTER TABLE
- Ievadiet šo komandu, lai pārbaudītu tabulas veidu (mūsu gadījumā tā ir MyISAM tabula):
RĀDĪT IZVEIDOT TABULU
;
- Lai atjaunotu tabulu, ierakstiet šo komandu un nospiediet Ievadiet:
MAINĪT TABLU
DZINĒJS = MyISAM;
- Ja jums ir InnoDB datu bāze, tā vietā ierakstiet šādu komandu:
MAINĪT TABLU
DZINĒJS = InnoDB;
- Lejupielādējiet un instalējiet Microsoft SQL Server 2019
- Labākā SQL servera dublēšanas programmatūra [bezmaksas un maksas]
- Kā nodrošināt SQL servera datu bāzi
5. Labojiet datu bāzi, izmantojot SQL Server atkopšanas rīklodziņu
-
Dodieties uz SQL Server atkopšanas rīklodziņu un noklikšķiniet uz Lejupielādēt pogu.
- Instalējiet lietotni pēc valodas izvēles un licences līguma pieņemšanas.
- Klikšķis Pabeigt lai palaistu SQL Server MDF labošanas rīku.
- Izvēlieties bojāto *.mdf failu, noklikšķinot uz avota mapes ikonas.
- Kad esat to atlasījis, noklikšķiniet uz Nākamais pogu.
- Tagad varēsit priekšskatīt datus, ko var izgūt no bojātās Microsoft SQL Server datu bāzes. Noklikšķiniet uz Tālāk Microsoft SQL MDF atkopšanas rīka logā, lai sāktu procesu.
- Tagad jums ir jāizvēlas tikai datu eksportēšanas metode. Varat to saglabāt kā SQL skripti diskā un pat izpildīt SQL skriptu tieši datu bāzē.
- Visbeidzot izvēlieties, kurus datus saglabāt, un noklikšķiniet uz Sāciet atkopšanu.
Tātad, tas ir kā labot SQL servera datu bāzes failus ar šo vienkāršo un efektīvo rīku. Kā redzat, darbs tiks paveikts daudz ātrāk.
The MS SQL servera atkopšanas rīks palīdzēs arī tad, ja ar MDF datu bāzi saskaraties ar šādām problēmām:
- Microsoft SQL Server kļūda 5172 – Īpašums FILE SIZE ir nepareizs
- SQL Server konstatēja uz loģisku konsekvenci balstītu I/O kļūdu - Tā ir nepareiza kontrolsumma, kas SQL serverī pazīstama kā kļūda 824
- Uz indeksa piešķiršanas kartes (IAM) lapu norāda IAM lapas nākamais rādītājs – Tā ir diezgan izplatīta problēma
- I/O kļūda, slikts lapas ID, konstatēts, lasot ar nobīdi 0x###### failā FileName.mdf - Tas nešķiet bieži, taču jūs joprojām varat to salabot, izmantojot šo mazo rīku
- Šķiet, ka fails ir saīsināts operētājsistēmas kļūdas dēļ – Visticamāk, to izraisījusi konfigurācijas problēma
- Pie žurnāla ieraksta ID radās kļūda – Tas notiek datu bāzē reģistrētas darbības atkārtošanas laikā
Faktiski, izmantojot atkopšanas rīklodziņu SQL Server, salabojiet visus bojāto .mdf failu objektus, tostarp datu tipus, tabulu. šūnu dati, skati, saglabātās procedūras, pielāgotas funkcijas, trigeri, indeksi, primārās un ārējās atslēgas, ierobežojumi un citi.
Un lielā priekšrocība ir tā, ka varat nemanāmi eksportēt labotos datus tieši uz Microsoft SQL Server no lietotnes.
Tas būs īstais! Tagad jūs zināt, kā labot SQL Server datu bāzi manuāli vai izmantojot īpašu rīku.
Ja zināt papildu metodes vai jums ir kādi jautājumi, mēs tos gaidīsim komentāru sadaļā zemāk.