Sådan repareres en beskadiget database i SQL Server [2022 guide]

  • Datatab er et almindeligt problem, men vi vil vise dig, hvordan du reparerer en beskadiget database i SQL Server.
  • Dette problem kan stamme fra en simpel overskrivning eller utilsigtet sletning af filer til virusinfektioner og forkert konfiguration.
  • Defekt lagerdrev kan også forårsage filkorruption, og det inkluderer din SQL-database.
Sådan repareres en beskadiget database i SQL Server

Selvfølgelig er det frustrerende at opdage en beskadiget database på din SQL Server af indlysende årsager. Du kan ikke få adgang til oplysningerne, og dit arbejde rammer et punktum.

Der er dog mange måder, du kan løse dette problem på med manuelle løsninger eller ved at bruge et smart, dedikeret værktøj fra tredjepartsværktøj kaldet Gendannelsesværktøjskasse til SQL Server.

Men før du starter fejlfindingen, lad os forstå og undersøge lidt, hvorfor dette problem sker i første omgang.

Hvad er en SQL Server, og hvordan kan vi identificere databasen?

En SQL Server er et databasesystem, udviklet af Microsoft, der bruges til at administrere, gemme og hente data af andre applikationer.

Der er tre typer filer til at gemme og administrere data i en SQL Server: primære filer (med en .MDF filtypenavn), sekundære filer (med filtypenavnet .NDF) og logfiler (med filtypenavnet .LDF).

Vi er særligt interesserede i disse MDF-filer, fordi det er dem, der leverer databaselageret.

Hvorfor bliver en database ødelagt på en SQL Server?

Der er mange mulige årsager til, at din SQL-serverdatabase kan blive ødelagt, lige fra en simpel overskrivning eller utilsigtet sletning af filer til virusinfektioner og forkert konfiguration.

Lad os gennemgå nogle af de mest almindelige årsager til dette problem:

  • Overskrivning af en fil – Hvis du ved en fejl skriver over en eksisterende MDF-fil, risikerer du at ødelægge databasen
  • Forsøger at låse SQL-databasen op - Hvis du glemte SQL-adgangskoden og indtaste det forkert for mange gange, kan dette føre til SQL Server-korruption
  • Fejl på dit lagerdrev – Det siger sig selv, at en drevfejl kan forårsage filkorruption, inklusive databasen
  • Problemer med SQL-databasekonfiguration – Hvis SQL-konfigurationen ændres, kan det deaktivere adgangen til MDF-filer
  • Virusinfektion – Dette er et almindeligt problem for enhver filkorruption, ikke kun SQL-databasefilerne, og selvom du fjerner virussen ved at bruge de bedste antivirus, kan du desværre stadig miste nogle data
  • SQL interne fejl - Selvom det er en stærk løsning, kan den stadig have sine fejl, der kan forårsage MDF-filer korruption

Når det er sagt, følg vores trin-for-trin guide for at lære, hvordan du reparerer en SQL-databasefil på en SQL Server.

Hvordan kan jeg reparere en beskadiget database i SQL Server?

Bemærk ikon
BEMÆRK

Bemærk: Før du starter noget, skal du udføre en sikkerhedskopi af SQL-biblioteket.

1. Genstart SQL Server

  1. Åbn en terminal og indtast følgende kommando for at stoppe SQL Server: systemctl mysql stop
  2. For at kontrollere status for SQL Server, skriv følgende kommando og tryk Gå ind: status mysql.service
  3. Genstart nu SQL Serveren ved at udføre følgende kommando i terminalen: genstart mysql.service

Nogle gange kan du løse problemet blot ved at genstarte SQL Server. Det virker selvfølgelig ikke hver gang, men det er så nemt at udføre, at det ikke ville skade at udføre.

2. Reparer et beskadiget bord

  1. Start SQL Server.
  2. Indtast følgende kommando og tryk Gå ind for at køre det: CHECK TABLE name_of_the_table;
  3. Hvis den opdager problemer med tabellen, skal du skrive følgende kommando og trykke på Gå ind: REPARATIONSTABEL navn_på_tabellen;

REPAIR TABELLEN hjælper dig med at reparere en tabel, og du kan gøre det samme for alle andre beskadigede, men på denne måde kan du miste nogle data fra tabellen.

3. Brug kommandoen mysqlcheck

  1. Åbn en terminal og skriv eller indsæt følgende kommando for at nå databasemappen og tryk på Gå ind: cd /var/lib/mysql
  2. Indtast nu følgende kommando for at teste en tabel og tryk på Gå ind. Sørg for at udskifte og med de egentlige navne: mysqlcheck
  3. Hvis du får beskeden om, at tabellen er beskadiget, skal du skrive følgende kommando for at reparere den og trykke på Gå ind: mysqlcheck -r

4. Brug ALTER TABLE kommandoerne

  1. Indtast følgende kommando for at kontrollere din tabeltype (i vores tilfælde er det en MyISAM-tabel): VIS OPRET TABEL ;
  2. For at genopbygge tabellen skal du skrive følgende kommando og trykke på Gå ind: ÆNDRE TABEL ENGINE = MyISAM;
  3. Hvis du har en InnoDB-database, skal du skrive følgende kommando i stedet: ÆNDRE TABEL ENGINE = InnoDB;
Læs mere om dette emne
  • Download og installer Microsoft SQL Server 2019
  • Bedste SQL-server backup software [gratis og betalt]
  • Sådan sikrer du en SQL-serverdatabase

5. Reparer databasen ved hjælp af Recovery Toolbox til SQL Server

  1. Gå til den dedikerede side til genoprettelsesværktøj til SQL Server og klik på Hent knap.
  2. Installer appen efter at have valgt sprog og accepteret licensaftalen.
  3. Klik Afslut for at starte SQL Server MDF-reparationsværktøjet.
  4. Vælg den beskadigede *.mdf fil ved at klikke på kildemappeikonet.
  5. Når du har valgt det, skal du klikke på Næste knap.
  6. Du vil nu være i stand til at få vist de data, der kan hentes fra den beskadigede Microsoft SQL Server-database. Klik på Næste i vinduet til Microsoft SQL MDF-gendannelsesværktøj for at starte processen.
  7. Nu skal du kun vælge metoden til dataeksporten. Du kan gemme det som SQL scripts til disk og endda eksekvere SQL-scriptet direkte på databasen.
  8. Til sidst skal du vælge hvilke data du vil gemme og klikke på Start gendannelse.

Så det er det her hvordan man reparerer SQL-serverdatabasefiler med dette enkle og effektive værktøj. Som du kan se, vil det få arbejdet gjort meget hurtigere.

Det MS SQL-servergendannelsesværktøj vil også hjælpe dig, hvis du står over for følgende problemer med MDF-databasen:

  • Microsoft SQL Server fejl 5172 – Egenskaben FILE SIZE er forkert
  • SQL Server registreret en logisk konsistensbaseret I/O-fejl – Det er en forkert kontrolsum, ellers kendt som fejl 824 i SQL-serveren
  • Siden Index Allocation Map (IAM) peges på af Next Pointer på en IAM-side - Det er et ret almindeligt problem
  • I/O-fejl, dårligt side-id, opdaget ved læsning ved offset 0x###### i filen FileName.mdf - Dette forekommer ikke så ofte, men du kan stadig reparere det med dette lille værktøj
  • Filen ser ud til at være blevet afkortet af operativsystemfejlen – Mest sandsynligt forårsaget af et konfigurationsproblem
  • Der opstod en fejl ved logregistrerings-id – Det sker under gentagelse af en logget operation i databasen

Med Recovery Toolbox til SQL Server reparerer faktisk alle objekter af beskadigede .mdf-filer, inklusive datatyper, tabel celledata, visninger, lagrede procedurer, brugerdefinerede funktioner, triggere, indekser, primære og fremmede nøgler, begrænsninger og andre.

Og den store fordel er, at du problemfrit kan eksportere de reparerede data direkte til Microsoft SQL Server fra appen.

Dette er det! Nu ved du, hvordan du reparerer din SQL Server-database manuelt eller ved at bruge et dedikeret værktøj.

Hvis du kender yderligere metoder eller har spørgsmål, venter vi på dem i kommentarfeltet nedenfor.

Rette: Kan ikke installere SQL Server på Windows 11

Rette: Kan ikke installere SQL Server på Windows 11Sql ServerWindows 11 Rettelse

SQL Server installeres ikke, hvis du bruger sektorstørrelser større end 4KBHvis du ikke er i stand til at installere SQL Server 2019 på Windows 11, er problemet højst sandsynligt disksektorstørrels...

Læs mere
Fix: Aritmetisk overløbsfejl ved konvertering af udtryk til datatype INT

Fix: Aritmetisk overløbsfejl ved konvertering af udtryk til datatype INTSql Server

Hvis heltalsværdien overstiger en bestemt værdi, får du denne fejlFor at rette aritmetisk overløbsfejl skal du konvertere resultater fra int til big int datatype.Alternativt kan du konvertere hele ...

Læs mere
0x80040e14 SQL Server-fejl: Sådan rettes det

0x80040e14 SQL Server-fejl: Sådan rettes detServerSql Server

Prøv at genstarte din server for at opdatere dens indstillingerFejlen 0x80040e14 kan opstå, når du har utilstrækkelig hukommelse i din SQL Server.Hukommelse er en vigtig komponent, hvis du forvente...

Læs mere