sql >> Database >  >> RDS >> Sqlserver

Hoe te controleren of SQL-database beschadigd is - Oplossing om MDF-bestand te repareren

Corruptie van gegevens is de meest kritieke situatie voor de SQL Server-beheerder. Het is erg moeilijk om beschadigde gegevens te herstellen zonder de hulp van tools van derden te gebruiken. Om te voorkomen dat gegevens worden beschadigd, moeten we de oorzaken van databasecorruptie kennen. Om deze taak te vereenvoudigen, vindt u hier de complete oplossing om te controleren of de SQL-database beschadigd is en hoe u corrupte SQL-databasebestanden kunt herstellen via SQL Recovery Tool . Dus laten we beginnen.

Als we het hebben over het repareren van SQL-databasecorruptie, moeten we de redenen achter de corruptie weten om dit probleem in de toekomst te voorkomen.

Veelvoorkomende redenen voor corruptie van SQL Server-database

Microsoft SQL Server is een van de beste relationele databasebeheersystemen die door grote organisaties worden gebruikt. Elke fout of fout in SQL Server kan de database beschadigen. Hieronder hebben we de belangrijkste redenen voor databasecorruptie opgesomd:

  • Malware- en virusaanvallen kunnen de SQL MDF- en NDF-bestanden beschadigen.
  • De subsystemen van de schijf waarop de databasegegevens zijn opgeslagen, kunnen door verschillende problemen worden beïnvloed. Dit leidt tot een onjuiste opstelling van de tabeldetails in de database en uiteindelijk krijgt de gebruiker niet het gewenste resultaat.
  • Antivirussoftware is goed voor andere programma's of bestanden die op het systeem zijn opgeslagen. Maar in het geval van SQL Server kan het schadelijk zijn en gegevens ontoegankelijk maken voor gebruikers.
  • Als we een kleiner formaat van bestanden nodig hebben, comprimeren we ze gewoon. Maar de SQL Server-databasebestanden zijn nooit bedoeld voor bestandscompressie. Dit kan leiden tot corruptie van de SQL-database.
  • Plotselinge stroomstoring, onverwacht afsluiten van het systeem, sommige wijzigingen in het SQL Server-account kunnen ook leiden tot corruptie in SQL Server.

Nadat u de reden voor de corruptie weet, weten we hoe we beschadigde gegevens kunnen identificeren.

Hoe te controleren of SQL-database beschadigd is?

Voordat SQL Database-corruptie wordt gerepareerd, moeten we echt het niveau van corruptie weten. Wanneer uw database niet goed werkt, volgt u gewoon de onderstaande instructies en identificeert u de corruptie van het SQL MDF-bestand.

  • Voer de volgende opdracht uit om de corrupte bestanden te controleren.

SELECT * From msdb.dbo.suspect pages

Als er geen fout in de database is, worden er geen rijen weergegeven in het resultaat. Dit betekent dat er geen corrupte invoer is gevonden. Dit betekent echter niet dat er geen beschadigde gegevens kunnen zijn, aangezien de query alleen de items controleert die in het verleden zijn beschadigd. Beschadigingen in een nieuwe invoer worden niet gecontroleerd. U kunt het tweede commando gebruiken om de slechte pagina's te controleren.

  • DBCC CHECKDB is de meest gebruikte opdracht door databasebeheerders om de corrupte bestanden te identificeren en te repareren. DBCC bevat verschillende andere opdrachten zoals DBCC CHECKCATALOG, DBCC CHECKALLOC en DBCC CHECKTABLE. Volg deze opdracht om te controleren of de SQL-database beschadigd is:

DBCC CHECKDB (Name_of_database)

Deze opdracht controleert de tabel-, geheugen-, kwaliteits- en consistentiemetingen en plaatst het resultaat in een lijst. Als er gebreken, inconsistenties en corruptie zijn, dan ligt het voor je.

Hoe een corrupte SQL-database te herstellen?

Als het resultaat corruptie in de SQL Server-database aantoont, moet u deze zo snel mogelijk repareren om toegang te krijgen tot uw gegevens. Hiervoor kunt u de SQL Recovery-software gebruiken. Hiermee worden corrupte MDF- en NDF-bestanden met alle objecten hersteld. U hoeft zich geen zorgen te maken over de SQL Server-versie, omdat de tool het MDF-bestand van SQL Server 2019, 2017, 2016, 2014, 2012, 2002 en alle eerdere versies kan repareren. Laten we eens kijken hoe deze tool het herstelproces van de SQL-database uitvoert zonder back-up en een ander hulpprogramma.

Stap 1 :Download het herstel van de SQL-database en start het op het systeem. Klik vervolgens op Openen en selecteer SQL-databasebestand MDF.

Stap 2 :Kies Scanmodus:Snel of Geavanceerd. Selecteer SQL Server MDF-bestandsversies.

Stap 3 :Klik op OK en de software start het proces om corrupte SQL-databasebestanden te herstellen. Zodra het is voltooid, kunt u een voorbeeld van herstelde items zien.

Stap 4 :Klik bovenaan op de optie Exporteren om de SQL-database te herstellen. Kies Exportoptie:export naar SQL Server Database of SQL Scripts.

Stap 5 :Als u herstelgegevens naar de SQL-database wilt exporteren, voert u Servernaam, Gebruikersnaam en Wachtwoord in.

Stap 6 : Controleer de vereiste SQL-database-items en selecteer Exporteren met schema of schema en gegevens beide.

Stap 7 : Klik op de knop Exporteren en het proces begint onmiddellijk.

Om de herstelde database op SQL Server te controleren, hoeft u alleen maar de databases uit te breiden.

Afsluitende woorden

Hier hebben we besproken hoe u kunt controleren of de SQL-database beschadigd is en wat de redenen zijn voor de corruptie van de SQL-database. Als u merkt dat uw SQL MDF- en NDF-bestanden corrupt zijn, hebben we ook de methode beschreven om corrupte SQL-databasebestanden te herstellen. Hier hebben we de beste SQL-hersteltool voorgesteld waarmee de gebruiker de SQL-database kan repareren en herstellen zonder back-up.


  1. Null Pointer-uitzondering bij het aanroepen van getReadableDatabase()

  2. Script om alle verbindingen met een database te beëindigen (meer dan RESTRICTED_USER ROLLBACK)

  3. JPA Tabelnamen in hoofdletters

  4. Is het mogelijk om de voorwaarde op te geven in Count()?