- Datatap er et vanlig problem, men vi vil vise deg hvordan du reparerer en ødelagt database i SQL Server.
- Dette problemet kan stamme fra en enkel overskriving eller utilsiktet sletting av filer til virusinfeksjoner og feil konfigurasjon.
- Feil på lagringsstasjonen kan også forårsake filkorrupsjon, og det inkluderer SQL-databasen din.
Selvfølgelig er det frustrerende å oppdage en ødelagt database på SQL Server av åpenbare grunner. Du får ikke tilgang til informasjonen og arbeidet ditt treffer punktum.
Det er imidlertid mange måter du kan fikse dette problemet med manuelle løsninger eller ved å bruke et smart, dedikert verktøy fra tredjepartsverktøy kalt Gjenopprettingsverktøykasse for SQL Server.
Men før du starter feilsøkingen, la oss forstå og undersøke litt hvorfor dette problemet oppstår i utgangspunktet.
Hva er en SQL Server og hvordan kan vi identifisere databasen?
En SQL Server er et databasesystem utviklet av Microsoft, som brukes til å administrere, lagre og hente data av andre applikasjoner.
Det er tre typer filer for å lagre og administrere data i en SQL Server: primærfiler (med .MDF-utvidelsen), sekundære filer (med .NDF-utvidelsen) og loggfiler (med filtypen .LDF).
Vi er spesielt interessert i disse MDF-filene fordi det er de som gir databaselagringen.
Hvorfor blir en database ødelagt på en SQL Server?
Det er mange mulige årsaker til at SQL-serverdatabasen din kan bli ødelagt, fra enkel overskriving eller utilsiktet filsletting til virusinfeksjoner og feil konfigurasjon.
La oss gå gjennom noen av de vanligste årsakene til dette problemet:
- Overskriver en fil – Hvis du ved en feiltakelse skriver over en eksisterende MDF-fil, risikerer du å ødelegge databasen
- Prøver å låse opp SQL-databasen - Hvis du glemte SQL-passordet og skriver inn feil for mange ganger, kan dette føre til SQL Server-korrupsjon
- Feil på lagringsstasjonen – Det sier seg selv at en stasjonsfeil kan forårsake filkorrupsjon, inkludert databasen
- Problemer med SQL-databasekonfigurasjon – Hvis SQL-konfigurasjonen endres, kan det deaktivere tilgangen til MDF-filer
- Virusinfeksjon – Dette er et vanlig problem for enhver filkorrupsjon, ikke bare SQL-databasefilene, og selv om du fjerner viruset ved å bruke de beste antivirusene, kan du dessverre fortsatt miste noen data
- SQL interne feil – Selv om det er en sterk løsning, kan den fortsatt ha sine feil som kan forårsake MDF-filer korrupsjon
Når det er sagt, følg vår trinnvise guide for å lære hvordan du reparerer en SQL-databasefil på en SQL Server.
Hvordan kan jeg reparere en ødelagt database i SQL Server?
MERK
Merk: Før du starter noe, utfør en sikkerhetskopi av SQL-biblioteket.
1. Start SQL Server på nytt
- Åpne en terminal og skriv inn følgende kommando for å stoppe SQL Server:
systemctl mysql stopp
- For å sjekke statusen til SQL Server, skriv inn følgende kommando og trykk Tast inn:
status mysql.service
- Start nå SQL Server på nytt ved å utføre følgende kommando i terminalen:
start mysql.service på nytt
Noen ganger kan du løse problemet bare ved å starte SQL Server på nytt. Selvfølgelig fungerer det ikke hver gang, men det er så enkelt å utføre at det ikke ville skade å utføre.
2. Reparer et skadet bord
- Start SQL Server.
- Skriv inn følgende kommando og trykk Tast inn for å kjøre det:
CHECK TABLE name_of_the_table;
- Hvis den oppdager problemer med tabellen, skriv inn følgende kommando og trykk Tast inn:
REPARASJON TABELL navn_på_tabellen;
REPARASJONSTABELLEN vil hjelpe deg med å reparere en tabell, og du kan gjøre det samme for alle andre ødelagte, men på denne måten kan du miste noen data fra tabellen.
3. Bruk mysqlcheck-kommandoen
- Åpne en terminal og skriv eller lim inn følgende kommando for å komme til databasemappen og trykk Tast inn:
cd /var/lib/mysql
- Skriv inn følgende kommando for å teste en tabell og trykk Tast inn. Pass på at du bytter ut og med de faktiske navnene:
mysqlcheck
- Hvis du får meldingen om at tabellen er ødelagt, skriv inn følgende kommando for å reparere den og trykk Tast inn:
mysqlcheck -r
4. Bruk ALTER TABLE-kommandoene
- Skriv inn følgende kommando for å sjekke tabelltypen din (i vårt tilfelle er det en MyISAM-tabell):
VIS LAG TABELL
;
- For å gjenoppbygge tabellen, skriv inn følgende kommando og trykk Tast inn:
ENDRE TABELL
ENGINE = MyISAM;
- Hvis du har en InnoDB-database, skriv inn følgende kommando i stedet:
ENDRE TABELL
ENGINE = InnoDB;
- Last ned og installer Microsoft SQL Server 2019
- Beste SQL-server backup programvare [gratis og betalt]
- Hvordan sikre en SQL-serverdatabase
5. Reparer databasen ved hjelp av Recovery Toolbox for SQL Server
- Gå til den dedikerte siden for gjenopprettingsverktøykasse for SQL Server og klikk på nedlasting knapp.
- Installer appen etter at du har valgt språk og godtatt lisensavtalen.
- Klikk Bli ferdig for å starte SQL Server MDF-reparasjonsverktøyet.
- Velg den ødelagte *.mdf fil ved å klikke på kildemappens ikon.
- Når du har valgt den, klikker du på Neste knapp.
- Du vil nå kunne forhåndsvise dataene som kan hentes fra den ødelagte Microsoft SQL Server-databasen. Klikk Neste i vinduet for gjenopprettingsverktøy for Microsoft SQL MDF for å starte prosessen.
- Nå trenger du bare velge metoden for dataeksporten. Du kan lagre den som SQL-skript til disk og til og med utfør SQL-skriptet direkte på databasen.
- Til slutt velger du hvilke data du vil lagre og klikker på Start gjenoppretting.
Så dette er hvordan reparere SQL-serverdatabasefiler med dette enkle og effektive verktøyet. Som du kan se, vil det gjøre jobben mye raskere.
De MS SQL-servergjenopprettingsverktøy vil også hjelpe deg hvis du har følgende problemer med MDF-databasen:
- Microsoft SQL Server-feil 5172 – Egenskapen FILE SIZE er feil
- SQL Server oppdaget en logisk konsistensbasert I/O-feil – Det er en feil sjekksum, ellers kjent som feil 824 i SQL Server
- Indekstildelingskart-siden (IAM) pekes til av neste peker på en IAM-side – Det er et ganske vanlig problem
- I/O-feil, dårlig side-ID, oppdaget ved lesing ved offset 0x###### i filen FileName.mdf – Dette ser ikke så ofte ut, men du kan fortsatt reparere det med dette lille verktøyet
- Filen ser ut til å ha blitt avkortet av operativsystemfeilen – Mest sannsynlig forårsaket av et konfigurasjonsproblem
- Det oppstod en feil ved loggpost-ID – Det skjer under omgjøring av en logget operasjon i databasen
Faktisk, med Recovery Toolbox for SQL Server reparer alle objekter av ødelagte .mdf-filer, inkludert datatyper, tabeller celledata, visninger, lagrede prosedyrer, egendefinerte funksjoner, utløsere, indekser, primær- og fremmednøkler, restriksjoner og andre.
Og den store fordelen er at du kan eksportere de reparerte dataene direkte til Microsoft SQL Server sømløst fra appen.
Det var det! Nå vet du hvordan du reparerer SQL Server-databasen manuelt eller ved å bruke et dedikert verktøy.
Hvis du kjenner til flere metoder eller har spørsmål, venter vi på dem i kommentarfeltet nedenfor.