Wanneer uw SQL-database vastloopt in de status 'herstel in behandeling', wordt uw database ontoegankelijk en stoppen alle bewerkingen. Deze uitgebreide handleiding biedt 15 beproefde methoden om problemen met herstel in behandeling van SQL-databases op te lossen, van eenvoudige herstarts tot geavanceerde noodreparaties.
1. Inzicht in de status 'In behandeling' van SQL-databaseherstel
Voordat u oplossingen probeert, is het van cruciaal belang om te begrijpen wat de oorzaken zijn van problemen met SQL-databaseherstel, zodat u de juiste oplossing kunt kiezen.
1.1 Wat betekent 'herstel in behandeling'?
Herstel in behandeling geeft aan dat SQL Server Dit geeft aan dat een database hersteld moet worden, maar dat het herstelproces niet gestart kan worden. In tegenstelling tot "Herstellen", wat aangeeft dat het herstelproces actief bezig is, betekent "Herstel in behandeling" dat het herstel geblokkeerd wordt door een probleem.
Belangrijke databasestatussen zijn:
- ONLINE – Normale operationele status
- HERSTELLEN – Herstelproces is actief bezig
- HERSTEL IN AFWACHTING – Herstel kan niet starten
- VERDACHTE – Database bevat kritieke fouten
- NOODDIENSTEN – Beperkte alleen-lezen toegang voor reparaties
- OFFLINE – Handmatig offline gehaald
1.2 Veelvoorkomende oorzaken van SQL-databaseherstel in behandeling
Problemen met SQL-databaseherstel zijn meestal het gevolg van de volgende veelvoorkomende oorzaken:
- Ontbrekende of beschadigde transactielogbestanden (LDF)
- Onvoldoende schijfruimte tijdens herstelbewerkingen
- Hardwarestoringen en onverwachte systeemafsluitingen
- Beschadigde MDF-databasebestanden
- Problemen met bestandsmachtigingen waardoor toegang wordt verhinderd
- SQL Server Problemen met de opstarttijd van de service
- FILESTREAM-configuratiefouten
- Onjuiste bestandspaden na servermigraties
1.3 Hoe de databasestatus te controleren
Controleer de status van uw database met behulp van de volgende methoden:
gebruik SQL Server Beheer Studio:
- Maak verbinding met uw SQL Server instantie
- Uitvouwen Databases map
- Zoek naar databases met de status “(Herstel in behandeling)”
Met behulp van de T-SQL-opdracht:
SELECT name, state_desc FROM sys.databases WHERE state_desc = 'RECOVERY_PENDING';
2. Eerste diagnostische stappen
Een goede diagnose is essentieel voordat u probeert een SQL-database te herstellen terwijl er nog oplossingen in de buurt zijn.
2.1 Controleer SQL Server Foutlogboeken
Foutlogboeken bevatten belangrijke informatie over de oorzaak van de status 'Herstel in behandeling'.
- Openen SQL Server Beheerstudio
- Navigeer naar Management -> SQL Server Logs
- Dubbelklik op het huidige logboek om recente fouten te bekijken
- Zoek naar foutmeldingen met betrekking tot uw database
U kunt ook T-SQL gebruiken:
EXEC sp_readerrorlog;
2.2 Controleer Windows-gebeurtenislogboeken
- Druk op Windows-toets + R
- Type eventvwr.msc en druk op Enter
- Navigeer naar Windows-logboeken -> Systeem en Applicatie
- Zoeken SQL Server gerelateerde fouten rond het moment dat het probleem optrad
2.3 Controleer de toegankelijkheid van het bestand
- Navigeer naar de locaties van uw databasebestanden
- Controleer of zowel MDF- als LDF-bestanden bestaan
- Controleer of de schijven online en toegankelijk zijn
- Controleer of de netwerkstations correct zijn gekoppeld
3. Oplossing #1: Herstarten SQL Server Services
Het opnieuw starten SQL Server Deze service lost veel problemen op met het herstellen van SQL-databases die worden veroorzaakt door timingproblemen of tijdelijke conflicten met resources.
3.1 Wanneer het herstarten van de service werkt
Deze methode is effectief voor:
- Tijdelijke vergrendelingen van resources tijdens het opstarten
- Vertragingen in de beschikbaarheid van schijven
- Problemen met de timing van service-afhankelijkheid
- Kleine configuratieconflicten
3.2 Opnieuw opstarten SQL Server Services
Methode 1: SQL Server Configuratiebeheer
- Openen SQL Server Configuratiebeheer
- Klik op het tabblad SQL Server Services
- Klik met de rechtermuisknop op de SQL Server bijvoorbeeld zoals SQL Server (MSSQLSERVER)
- Kies Herstart
- Wacht tot de service volledig opnieuw is opgestart.
Methode 2: Servicesconsole
- Druk op Windows-toets + R
- Type services.msc en druk op Enter
- Zoek de SQL Server bijvoorbeeld zoals SQL Server (MSSQLSERVER)
- Klik met de rechtermuisknop en selecteer Herstart
Methode 3: PowerShell
Restart-Service -Name "MSSQLSERVER" -Force
3.3 Verificatie na herstart
- Wacht 2-3 minuten tot het opstarten is voltooid.
- Controleer de databasestatus in SSMS
- Controleer de foutlogboeken voor nieuwe berichten
- Test databaseconnectiviteit
4. Oplossing #2: Controleer en los problemen met schijfruimte op
Onvoldoende schijfruimte is een veelvoorkomende oorzaak van problemen met SQL-databaseherstel. Herstelbewerkingen vereisen extra ruimte voor tijdelijke bestanden en de groei van logbestanden.
4.1 Problemen met schijfruimte identificeren
- Openen Verkenner
- Navigeren naar stations met databasebestanden
- Controleer de beschikbare vrije ruimte
- Zorg voor minimaal 10-20% vrije ruimte voor herstelwerkzaamheden
4.2 Schijfruimte vrijmaken
- Verwijder onnodige tijdelijke bestanden
- Wissen SQL Server back-upbestanden als ruimtekritisch is
- Verplaats niet-essentiële bestanden naar andere schijven
- Verklein indien mogelijk andere databasebestanden
Databasebestanden verkleinen (voorzichtig gebruiken):
DBCC SHRINKFILE (logicalfilename, target_size);
4.3 Database online instellen na spatieherstel
Zodra er ruimte beschikbaar is, probeert u de database online te brengen:
ALTER DATABASE [DatabaseName] SET ONLINE;
5. Oplossing #3: Instellen SQL Server Dienstverlening begint met vertraging
omgeving SQL Server Een vertraagde start lost problemen op met het herstel van SQL-databases die worden veroorzaakt doordat opslagsystemen of netwerkstations niet gereed zijn tijdens het opstarten van het systeem.
5.1 Timingproblemen begrijpen
Timingproblemen doen zich voor wanneer:
- SAN of netwerkopslag heeft tijd nodig om te initialiseren
- Schijfletters worden niet toegewezen tijdens het vroege opstarten
- Netwerkstations vereisen authenticatie
- Opslagcontrollers hebben initialisatietijd nodig
5.2 De vertraagde start configureren
- Druk op Windows-toets + R
- Type services.msc en druk op Enter
- Zoek de SQL Server bijvoorbeeld zoals SQL Server (MSSQLSERVER)
- Klik met de rechtermuisknop en selecteer Aanbod
- Veranderen Opstarttype naar Automatisch (vertraagd starten)
- Klik op het tabblad OK
- Start het systeem opnieuw op om te testen.
5.3 Alternatieve oplossingen voor timing
Voor meer controle kunt u een geplande taak maken:
- Openen Task Scheduler
- Klik op het tabblad Actie -> Basistaak maken
- Voer de Naam en Beschrijving van de taak, zoals "Start van de taak uitstellen" SQL Server dienst"
- Zet Trigger naar Wanneer de computer opstart
- Zet Actie naar Start Programma
- Zet Programma / Script naar het volledige pad van Sqlservr.exe, zoals dit: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe. U kunt de zoekfunctie in Windows gebruiken om het te vinden.
- Selecteer op de finishpagina Het dialoogvenster Eigenschappen voor deze taak openen wanneer ik op Voltooien klik.
- Klik op het tabblad Voltooien.
- Klik in het dialoogvenster Taakeigenschappen op triggers .
- Selecteer de trigger en klik Edit
- In Geavanceerde instellingen, vink aan Vertragingstaak voor: en stel de tijd in op 3 minuten.
- Klik op het tabblad OK.
6. Oplossing #4: Herstel bestandsrechten en toegangsrechten
Toestemmingsproblemen verhinderen SQL Server toegang tot databasebestanden, wat leidt tot een SQL-databaseherstelstatus. De juiste bestandsrechten zijn essentieel voor databasebewerkingen.
6.1 Veelvoorkomende machtigingsproblemen
- SQL Server serviceaccount heeft geen rechten op toegang tot bestanden
- Antivirussoftware die toegang tot bestanden blokkeert
- Gewijzigd beveiligingsbeleid
- Problemen met netwerkshare-machtigingen
6.2 Mapmachtigingen corrigeren
- Navigeer naar de databasebestandmap
- Klik met de rechtermuisknop op de map en selecteer Aanbod
- Klik op de knop Security .
- Klik op het tabblad Edit
- Voeg de SQL Server serviceaccount indien ontbrekend
- Grant Volledig beheer permissies
- Klik op het tabblad OK wijzigingen toepassen
Opdrachtregel gebruiken (icacls):
icacls "C:\Data" /grant "NT SERVICE\MSSQLSERVER":F /T
6.3 Overwegingen voor serviceaccounts
Controleer de SQL Server serviceaccount:
- Openen SQL Server Configuratiebeheer
- Klik op het tabblad SQL Server Services
- Merk op Aanmelden als account voor SQL Server
- Zorg ervoor dat dit account de juiste rechten heeft
7. Oplossing #5: Handmatige correctie van het bestandspad
Problemen met het bestandspad doen zich voor wanneer databasebestanden worden verplaatst of stationsletters worden gewijzigd. Deze methode werkt SQL Serverinterne bestandsverwijzingen van zonder de eigenlijke bestanden te verplaatsen.
7.1 Wanneer padproblemen optreden
- Wijzigingen in serverhardware
- Hertoewijzingen van schijfletters
- Wijzigingen in het netwerkpad
- Verplaatsingen van databasebestanden
7.2 Bestandspaden corrigeren
- Identificeer de huidige bestandspaden in foutlogboeken
- Zoek de daadwerkelijke databasebestanden
- Gebruik ALTER DATABASE om paden bij te werken
Pad voor gegevensbestand bijwerken:
ALTER DATABASE [DatabaseName]
MODIFY FILE (NAME = 'LogicalDataFileName', FILENAME = 'C:\NewPath\DatabaseName.mdf');
Pad voor logbestand bijwerken:
ALTER DATABASE [DatabaseName]
MODIFY FILE (NAME = 'LogicalLogFileName', FILENAME = 'C:\NewPath\DatabaseName_Log.ldf');
7.3 Verificatiestappen
- Herstart SQL Server service
- Controleer de databasestatus
- Controleer foutlogboeken op padgerelateerde berichten
- Test databaseconnectiviteit
8. Oplossing #6: Haal de database offline en vervolgens online
Deze eenvoudige statuswijziging kan kleine problemen met het herstel van de SQL-database oplossen door een schone statusovergang af te dwingen en tijdelijke vergrendelingen op te heffen.
8.1 Wanneer deze methode werkt
- Kleine inconsistenties in de staat
- Tijdelijke resourcevergrendelingen
- Eenvoudig herstelproces resets
- Niet-kritieke foutomstandigheden
8.2 Offline/Online-procedure
- Zorg ervoor dat er geen actieve verbindingen met de database zijn
- Voer de offline opdracht uit
- Wacht een paar seconden
- Voer de online opdracht uit
Veilige methode (wacht tot de verbindingen gesloten zijn):
ALTER DATABASE [DatabaseName] SET OFFLINE;
ALTER DATABASE [DatabaseName] SET ONLINE;
Onmiddellijke methode (verbreekt verbindingen):
ALTER DATABASE [DatabaseName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [DatabaseName] SET ONLINE;
8.3 Risico's en overwegingen
Waarschuwing: Het gebruik van ROLLBACK IMMEDIATE kan leiden tot gegevensverlies door niet-vastgelegde transacties. Gebruik ROLLBACK IMMEDIATE alleen wanneer nodig en zorg ervoor dat gebruikers zijn afgemeld.
9. Oplossing #7: Schakel de functie AUTOMATISCH SLUITEN uit
De functie AUTO CLOSE kan problemen veroorzaken met het herstel van SQL-databases als databases vaak worden geopend en gesloten, waardoor er timingconflicten kunnen ontstaan tijdens herstelbewerkingen.
9.1 Inzicht in de impact van AUTO SLUITEN
- Database wordt gesloten nadat de laatste gebruiker de verbinding verbreekt
- Moet elke keer dat de database wordt geopend, worden hersteld
- Creëert frequente herstelcycli
- Kan andere handelingen verstoren
9.2 AUTOMATISCH SLUITEN uitschakelen
T-SQL gebruiken:
ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;
gebruik SQL Server Beheer Studio:
- Klik met de rechtermuisknop op de database
- Kies Aanbod
- Ga naar opties pagina
- Zet Automatisch sluiten naar Niet waar
- Klik op het tabblad OK
9.3 Gerelateerde AUTO-instellingen
Overweeg ook om AUTO_SHRINK uit te schakelen voor betere prestaties:
ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;
10. Oplossing #8: Verwijder het beschadigde logbestand en herstart.
Deze methode werkt wanneer het transactielogbestand ernstig beschadigd is en niet meer te herstellen is. Gebruik deze methode alleen in ontwikkelomgevingen of wanneer gegevensverlies acceptabel is.
10.1 Wanneer het verwijderen van logboeken gepast is
⚠️ KRITISCHE WAARSCHUWING: Deze methode veroorzaakt gegevensverlies!
Alleen gebruiken wanneer:
- Werken met ontwikkelings-/testdatabases
- Logbestand is volledig beschadigd
- Er zijn geen andere herstelmogelijkheden
- Recente back-ups zijn beschikbaar
10.2 Procedure voor het verwijderen van logbestanden
- stop SQL Server volledig service
- Navigeer naar de locatie van het databasebestand
- Verwijder het .LDF-bestand (behoud het .MDF-bestand)
- Start SQL Server service
- SQL Server zal automatisch een nieuw logbestand aanmaken
10.3 Belangrijke waarschuwingen
Gevolgen van gegevensverlies:
- Alle niet-afgesloten transacties gaan permanent verloren.
- Logketen is verbroken – differentiële back-ups ongeldig
- Herstel op een bepaald tijdstip wordt onmogelijk
- Alleen gebruiken in niet-productieomgevingen
11. Oplossing #9: Database loskoppelen en opnieuw koppelen
Krachten losmaken en opnieuw vastmaken SQL Server Om ontbrekende of beschadigde logbestanden opnieuw op te bouwen. Deze methode kan problemen met SQL-databaseherstel oplossen wanneer logbestanden problematisch zijn.
11.1 Wanneer loskoppelen/opnieuw bevestigen werkt
- Ontbrekende logbestanden
- Beschadigde logbestandheaders
- Wijzigingen in het pad van het logbestand
- Eenvoudige corruptiescenario's
11.2 Standaard losmaak-/herbevestigprocedure
- Zet de database eerst in de noodmodus
- Overschakelen naar multi-usermodus
- De database loskoppelen
- Opnieuw bevestigen met alleen het MDF-bestand
-- Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET MULTI_USER;
-- Detach database
EXEC sp_detach_db '[DatabaseName]';
-- Re-attach with single file (MDF only)
EXEC sp_attach_single_file_db
@DBName = '[DatabaseName]',
@physname = N'C:\Data\DatabaseName.mdf';
11.3 Alternatieve bevestigingsmethoden
Voor scenario's met meerdere bestanden:
CREATE DATABASE [DatabaseName]
ON (FILENAME = 'C:\Data\DatabaseName.mdf'),
(FILENAME = 'C:\Data\DatabaseName_2.ndf')
FOR ATTACH;
12. Oplossing #10: Transactielogbestanden opnieuw opbouwen
Het heropbouwen van logs creëert een nieuw transactielogbestand wanneer het origineel ontbreekt of onherstelbaar beschadigd is. Deze methode lost problemen met SQL-databaseherstel op, maar leidt tot gegevensverlies.
12.1 Wanneer het opnieuw opbouwen van het logboek noodzakelijk is
- Ontbrekende LDF-bestanden na hardwarestoring
- Ernstig beschadigde transactielogboeken
- Wijzigingen in het logbestandpad die niet kunnen worden gecorrigeerd
- Noodsituaties voor herstel
12.2 Logboek heropbouwproces
⚠️ WAARSCHUWING: Dit veroorzaakt gegevensverlies!
- Database in noodmodus zetten
- Gebruik de REBUILD LOG-opdracht
- Geef een nieuwe logbestandlocatie op
- Database online brengen
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO
ALTER DATABASE [DatabaseName] REBUILD LOG ON
(NAME = 'DatabaseName_Log', FILENAME = 'C:\Logs\DatabaseName_Log.ldf');
GO
ALTER DATABASE [DatabaseName] SET ONLINE;
GO
12.3 Inzicht in de gevolgen van gegevensverlies
Het herbouwen van logbestanden veroorzaakt:
- Verlies van alle niet-vastgelegde transacties
- Gebroken logboekvolgnummers
- Het is niet mogelijk om volgende logback-ups toe te passen
- Herstel op een bepaald tijdstip wordt onmogelijk
13. Oplossing #11: Noodmodus reparatie met DBCC CONTROLEERDB
Noodherstel is een laatste redmiddel voor het herstellen van SQL-databases in afwachting van problemen veroorzaakt door corruptie. Deze methode kan databases repareren, maar kan leiden tot aanzienlijk gegevensverlies.
13.1 Noodmodus begrijpen
⚠️ EXTREME WAARSCHUWING: Hoog risico op gegevensverlies!
Gebruik de noodmodus alleen wanneer:
- Alle andere methoden zijn mislukt
- Er zijn geen recente back-ups beschikbaar
- Sommige gegevensherstel is beter dan totaal verlies
- Database is ernstig beschadigd
13.2 Noodreparatieprocedure
- Maak eerst een back-up van beschadigde databasebestanden
- Database in noodmodus zetten
- Overschakelen naar de modus voor één gebruiker
- CHECKDB uitvoeren met reparatieoptie
- Terug naar de multi-usermodus
-- Step 1: Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO
-- Step 2: Single user mode
ALTER DATABASE [DatabaseName] SET SINGLE_USER;
GO
-- Step 3: Repair with no data loss
DBCC CHECKDB ([DatabaseName], REPAIR_REBUILD) WITH ALL_ERRORMSGS;
GO
-- Step 4: Return to multi-user
ALTER DATABASE [DatabaseName] SET MULTI_USER;
GO
13.3 Beoordeling na reparatie
- Controleer de CHECKDB-uitvoer voor reparatieacties
- Controleer op ontbrekende tabellen of gegevens
- Controleer de functionaliteit van kritieke applicaties
- Overweeg een back-up terug te zetten als er te veel gegevens verloren zijn gegaan.
14. Oplossing #12: Controleer en herstel de FILESTREAM-configuratie
Problemen met de FILESTREAM-configuratie kunnen problemen veroorzaken met het herstel van de SQL-database. Deze methode verhelpt FILESTREAM-specifieke herstelfouten.
14.1 FILESTREAM-gerelateerde herstelproblemen
- Verbindingsfouten met FILESTREAM-stuurprogramma
- Configuratie-mismatches tussen SQL Server en OS
- Timingproblemen tijdens het opstarten van de service.
- Toestemmingsproblemen met FILESTREAM-containers
14.2 FILESTREAM-probleemoplossing
- Controleer het FILESTREAM-configuratieniveau
- Controleer of de Windows-functie is ingeschakeld
- Start de benodigde services opnieuw op.
- Controleer de FILESTREAM-containermachtigingen
Controleer de FILESTREAM-configuratie:
SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;
FILESTREAM inschakelen op instantieniveau:
EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;
14.3 FILESTREAM-best practices
- Zorg voor een consistente configuratie bij herstarts.
- Controleer of de FILESTREAM-containerpaden toegankelijk zijn
- Controleer of de Windows FILESTREAM-functie correct is ingeschakeld
- Controleer FILESTREAM-gerelateerde foutmeldingen
15. Oplossing #13: Update SQL Server Versie/Service Packs
Ouder SQL Server Versies, met name RTM-releases, bevatten bekende bugs die problemen veroorzaken met het herstel van SQL-databases. Updaten naar de nieuwste service packs lost deze problemen op.
15.1 Bekende problemen in oudere versies
- SQL Server 2005 RTM-herstelbugs
- Service pack-specifieke oplossingen voor herstelprocessen
- Cumulatieve updates die inspelen op grensgevallen
- Compatibiliteitsproblemen met nieuwere Windows-versies
15.2 Updateproces
- Controleer de huidige SQL Server versie
- Identificeer het nieuwste beschikbare servicepack
- Downloaden van Microsoft Download Center
- Onderhoudsvenster plannen
- Servicepack installeren
- Herstart services
- Controleer de databasefunctionaliteit
Controleer huidige versie:
SELECT @@VERSION;
15.3 Verificatie na de update
- Bevestig dat het versienummer is gewijzigd
- Controleer of alle databases correct online komen
- Voer basisfunctionaliteitstesten uit
- Controleer de foutlogboeken op nieuwe problemen
16. Oplossing #14: Database herstellen vanuit een back-up
Wanneer problemen met het herstel van een SQL-database niet kunnen worden opgelost met reparatiemethoden, biedt herstel vanuit een bekende, goede back-up de meest betrouwbare oplossing met voorspelbare grenzen voor gegevensverlies.
16.1 Wanneer back-upherstel de oplossing is
- Meerdere reparatiepogingen zijn mislukt
- Kritische productiegegevens vereisen zekerheid
- Er bestaat een acceptabel venster voor gegevensverlies
- Corruptie is te omvangrijk om te kunnen herstellen
16.2 Volledig databaseherstelproces
- Identificeer de meest recente bruikbare back-up.
- Zorg voor voldoende schijfruimte voor herstel
- Database offline halen of verwijderen indien nodig
- Herstellen van back-upbestand
- Pas logback-ups toe indien beschikbaar
Basisherstel van volledige back-up:
RESTORE DATABASE [DatabaseName]
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH REPLACE;
Herstel met logback-ups voor herstel naar een bepaald tijdstip:
RESTORE DATABASE [DatabaseName]
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG [DatabaseName]
FROM DISK = 'C:\Backups\DatabaseName_Log.trn'
WITH RECOVERY;
16.3 Verificatie en testen
- Controleer of de database succesvol online is
- Controleer de gegevensintegriteit met CHECKDB
- Test kritische applicatiefuncties
- Bevestig dat de back-up/het herstel zonder fouten is voltooid
16.4 Referentie
Meer informatie kunt u vinden op onze uitgebreide handleiding over het maken van een back-up en het herstellen SQL Server databanken.
17. Oplossing #15: Professionele SQL-hersteltools
Wanneer handmatige methoden niet in staat zijn om problemen met het herstel van de SQL-database op te lossen, kan gespecialiseerde herstelsoftware gegevens ophalen uit ernstig beschadigde databases die niet kunnen worden hersteld met standaardmethoden.
17.1 Wanneer u tools van derden moet overwegen
- Ernstige corruptie die de mogelijkheden voor handmatige reparatie te boven gaat
- Kritieke gegevens waarvoor geen back-ups beschikbaar zijn
- Meerdere mislukte handmatige reparatiepogingen
- Tijdkritische herstelvereisten
17.2 DataNumen SQL Recovery
DataNumen SQL Recovery is een krachtige SQL Server databasehersteltool.
Hieronder staan de stappen om het te gebruiken:
- Stop de SQL Server Dienst.
- Maak een kopie van de bestanden van de database die in de status 'herstel in behandeling' staat, inclusief zowel het primaire MDF-bestand als de secundaire NDF-bestanden.
- Start SQL Server Dienst.
- Start DataNumen SQL Recovery.
- Selecteer de kopie, in plaats van het originele bestand, als bron van de database die u wilt herstellen.
- Klik op "Herstel starten" en volg de instructies om de database te herstellen.
- Na het herstelproces verschijnt er een nieuwe hersteldatabase in SQL Server dat alle herstelde gegevens bevat.

18. Geavanceerde probleemoplossingsscenario's
Complexe omgevingen vereisen gespecialiseerde benaderingen om problemen met SQL-databaseherstel op te lossen.
18.1 Problemen met meerdere databasebestanden
Databases met meerdere gegevensbestanden (NDF) vereisen een zorgvuldige behandeling:
- Identificeer welke bestandsgroepen worden beïnvloed
- Controleer alle NDF-bestanden op toegankelijkheid
- Overweeg bestandsgroepspecifieke herstelopties
- Alleen-lezen bestandsgroepen op de juiste manier verwerken
18.2 Altijd beschikbare beschikbaarheidsgroepen
SQL-databaseherstel in behandeling Always On omgevingen:
- Controleer eerst de status van de primaire replica
- Controleer de synchronisatiestatus
- Overweeg om problematische replica's te verwijderen en opnieuw toe te voegen
- Controleer de configuratie van de beschikbaarheidsgroep
18.3 Cluster- en hoge beschikbaarheidsscenario's
SQL-databaseherstel in behandeling failover-cluster en hoge beschikbaarheid scenario's:
- Controleer de toegankelijkheid van gedeelde opslag
- Controleer de communicatie van het clusterknooppunt
- Failoverclusterlogboeken bekijken
- Zorg voor een correcte DNS-resolutie
18.4 WMI en problemen op systeemniveau
Problemen op systeemniveau kunnen databaseproblemen veroorzaken:
- WMI-repository corruptie
- Mislukte Windows-updates
- Registerbeschadiging
- Service-afhankelijkheidsproblemen
19. Preventiestrategieën
Het voorkomen van problemen met SQL-databaseherstel is effectiever dan het oplossen ervan nadat ze zijn opgetreden.
19.1 Aanbevolen back-uppraktijken
- Implementeer geautomatiseerde volledige back-upschema's
- Regelmatige differentiële back-ups configureren
- Regelmatige back-ups van transactielogboeken instellen
- Test regelmatig back-up-herstelprocedures
- Back-ups opslaan op aparte opslagsystemen
- Controleer de back-upintegriteit met RESTORE VERIFYONLY
19.2 Bewaking en onderhoud
- Waarschuwingen voor schijfruimtebewaking instellen
- Regelmatige DBCC CHECKDB-bewerkingen plannen
- Monitor SQL Server foutlogboeken dagelijks
- Implementeren prestatie basislijn monitoring
- Configure SQL Server Agentwaarschuwingen voor kritieke fouten
19.3 Infrastructuuroverwegingen
- Installeer UPS-systemen voor stroombeveiliging
- Gebruik opslag van ondernemingskwaliteit met redundantie
- Voer de juiste afsluitprocedures uit
- Zorg voor netwerkstabiliteit voor gedeelde opslag
- Regelmatige hardwaregezondheidsbewaking
19.4 SQL Server Configuratie-best practices
- Kies geschikte herstelmodellen
- Configureer verstandige instellingen voor automatische groei
- Gescheiden gegevens en logbestanden op verschillende schijven
- Gebruik speciale serviceaccounts met minimale rechten
- Houden SQL Server bijgewerkt met de nieuwste servicepacks
20. Problemen met beslissingsboom en methodologie oplossen
Volg deze systematische aanpak wanneer u problemen ondervindt met het herstellen van de SQL-database.
20.1 Systematische diagnosebenadering
- Controleer eerst de foutlogboeken – Begin altijd met SQL Server en Windows-logboeken
- Controleer de toegankelijkheid van het bestand – Zorg ervoor dat alle databasebestanden bestaan en leesbaar zijn
- Controleer schijfruimte – Bevestig dat er voldoende ruimte is voor de herstelwerkzaamheden
- Probeer eerst eenvoudige oplossingen – Service opnieuw opstarten, offline/online
- Voortgang bij complexe reparaties – Pas als eenvoudige methoden falen
- Overweeg om te herstellen vanaf een back-up – Wanneer de reparatierisico’s te hoog zijn
20.2 De juiste reparatiemethode kiezen
Laag risico (eerst proberen):
- Herstart SQL Server diensten
- Schijfruimte controleren en oplossen
- Bestandsrechten herstellen
- Offline/Online-database
Gemiddeld risico:
- Correcties van bestandspaden
- AUTOMATISCH SLUITEN uitschakelen
- FILESTREAM-configuratieoplossingen
- De start van de dienstverlening is vertraagd.
Hoog risico (mogelijk gegevensverlies):
- Verwijder het logbestand en start opnieuw op.
- Database loskoppelen/opnieuw koppelen
- Transactielogboeken opnieuw opbouwen
- Noodmodus reparatie met DBCC CONTROLEERDB
20.3 Wanneer escaleren?
Zoek professionele hulp als:
- Meerdere methoden met een hoog risico zijn mislukt
- Database bevat onvervangbare kritieke gegevens
- Corruptie heeft invloed op meerdere databases
- Er wordt vermoed dat er problemen op systeemniveau zijn
- Tijdsbeperkingen vereisen gegarandeerde resultaten
21. Veelgestelde vragen
V: Wat is het verschil tussen de databasestatussen “HERSTELLEN” en “HERSTEL IN AFHANDELING”?
A: “HERSTELLEN” betekent dat de database actief herstelbewerkingen uitvoert en automatisch online komt wanneer deze voltooid zijn. “HERSTEL IN AFWACHTING” betekent SQL Server Het herstelproces kan niet worden gestart vanwege een probleem zoals ontbrekende bestanden, onvoldoende schijfruimte of corruptie. Het herstelproces is in behandeling en vereist handmatige tussenkomst.
V: Welke oplossing moet ik als eerste proberen als ik problemen ondervind met het herstellen van de SQL-database?
A: Begin altijd met de veiligste methoden. Controleer SQL Server Controleer de foutenlogboeken, controleer de beschikbare schijfruimte en probeer vervolgens opnieuw op te starten. SQL Server diensten. Deze risicoarme benaderingen lossen de meest voorkomende problemen met het herstelproces op zonder risico op gegevensverlies.
V: Hoe lang moet ik wachten voordat ik een andere oplossingsmethode probeer?
A: Wacht bij het herstarten van de service 2-3 minuten totdat deze volledig is opgestart. Wacht bij eenvoudige statuswijzigingen zoals offline/online 30-60 seconden. Voor complexe reparaties zoals DBCC CHECKDB moet u rekening houden met meerdere uren, afhankelijk van de databasegrootte. Onderbreek herstelprocessen niet zodra ze zijn gestart.
V: Verlies ik gegevens als ik problemen met het herstel van de SQL-database verhelp?
A: Gegevensverlies hangt af van de gebruikte methode. Veilige methoden zoals het herstarten van services, het vrijmaken van schijfruimte en het corrigeren van machtigingen veroorzaken geen gegevensverlies. Risicovolle methoden zoals herstel in noodmodus, het opnieuw opbouwen van logbestanden of het verwijderen van logbestanden kunnen leiden tot aanzienlijk gegevensverlies. Probeer daarom altijd eerst de veilige methoden.
V: Kan ik voorkomen dat er problemen optreden met het herstel van de SQL-database?
A: Ja, de meeste problemen zijn te voorkomen door goed onderhoud. Voer regelmatig back-ups uit, controleer de schijfruimte, zorg voor voldoende opslagcapaciteit, gebruik UPS-beveiliging, voer routinematige DBCC CHECKDB-bewerkingen uit en houd... SQL Server bijgewerkt met de nieuwste servicepacks.
V: Moet ik reparaties aan productiedatabases uitvoeren tijdens kantooruren?
A: Voer nooit risicovolle reparatiemethoden uit op productiedatabases tijdens kantooruren. Plan onderhoudsvensters in voor complexe reparaties. Veilige methoden zoals het herstarten van services of het vrijmaken van schijfruimte kunnen echter wel direct worden geprobeerd als ze kritieke processen blokkeren.
V: Wanneer moet ik een back-up herstellen in plaats van reparaties uit te voeren?
A: Herstel vanaf een back-up als meerdere reparatiepogingen mislukken, als het gaat om kritieke productiegegevens die geen verder risico op beschadiging lopen, als u recente back-ups hebt met acceptabele perioden voor gegevensverlies of als reparatiemethoden langer duren dan herstelbewerkingen.
V: Hoe weet ik of mijn databasebestanden beschadigd of ontoegankelijk zijn?
A: Controleer SQL Server Foutlogboeken voor specifieke foutmeldingen. Problemen met de toegankelijkheid van bestanden geven fouten aan zoals "kan bestand niet vinden" of machtigingen. Corruptie vertoont meestal checksumfouten, fouten op paginaniveau of schendingen van de consistentie. Gebruik DBCC CHECKDB om definitief te testen op corruptie wanneer de database toegankelijk is.
V: Wat is de veiligste manier om databasebestanden te kopiëren voordat ik ze ga repareren?
A: Stop SQL Server service volledig te voltooien, kopieer dan zowel de MDF- als de LDF-bestanden naar een back-uplocatie. U kunt ook databaseback-upopdrachten gebruiken als de database nog toegankelijk is. Kopieer nooit bestanden terwijl SQL Server wordt uitgevoerd, omdat dit inconsistente kopieën kan opleveren.
V: Kunnen problemen met SQL-databaseherstel tegelijkertijd meerdere databases treffen?
A: Ja, problemen op systeemniveau zoals onvoldoende schijfruimte, problemen met serviceaccounts, opslagfouten of SQL Server Configuratiefouten kunnen meerdere databases treffen. Controleer altijd of andere databases vergelijkbare problemen ondervinden om bredere systeemproblemen te identificeren.
V: Hoe vaak moet ik mijn databaseherstelprocedures testen?
A: Test herstelprocedures maandelijks voor kritieke databases, en elk kwartaal voor belangrijke databases. Test verschillende herstelscenario's, zoals point-in-time herstel, herstel van logsequenties en noodherstelprocedures. Documenteer en time elke test voor noodplanning.
V: Wanneer moet ik contact opnemen met Microsoft Support of professionele hulp inhuren?
A: Schakel professionele hulp in als meerdere reparatiepogingen mislukken, als u te maken krijgt met bedrijfskritische gegevens zonder dat er back-ups zijn, als u te maken krijgt met complexe corruptie in meerdere databases, als u ongedocumenteerde foutmeldingen tegenkomt of als er vanwege tijdsgebrek gegarandeerde herstelresultaten vereist zijn.
V: Zijn SQL-hersteltools van derden de investering waard?
A: Hersteltools zijn waardevol wanneer handmatige methoden falen en er geen back-ups beschikbaar zijn. De meeste tools bieden gratis proefversies aan om de herstelmogelijkheden te testen vóór aankoop. Overweeg de kosten ten opzichte van professionele diensten, de waarde van de gegevens en de kans op succes. Tools werken het best bij structurele corruptie, maar herstellen mogelijk niet alle gegevenstypen.
V: Wat moet ik doen als de foutmelding 'Herstel van SQL-database in behandeling' steeds terugkomt?
A: Terugkerende problemen duiden op onderliggende systeemproblemen. Controleer op hardwarestoringen, onvoldoende resources, problemen met het opslagsysteem of configuratieproblemen. Houd de Windows-gebeurtenislogboeken in de gaten, implementeer uitgebreide monitoring en overweeg hardware te upgraden of over te stappen op betrouwbaardere opslagsystemen.
22. Conclusie en snelle referentie
Problemen met het herstellen van een SQL-database die nog in behandeling zijn, kunnen worden opgelost met behulp van deze 15 beproefde methoden, variërend van eenvoudige herstarts van de service tot complexe noodreparaties.
22.1 Snelle oplossing samenvattingstabel
| Fix Method | Risico niveau | Risico op gegevensverlies | Best gebruikt voor: |
|---|---|---|---|
| Herstart SQL Server | Laag | Geen | Tijdsproblemen, tijdelijke vergrendelingen |
| Controleer schijfruimte | Laag | Geen | Ruimtegerelateerde storingen |
| Vertraagde start | Laag | Geen | Problemen met de opslagtiming |
| Herstel machtigingen | Laag | Geen | Fouten bij geweigerde toegang |
| Correcte bestandspaden | Laag | Geen | Padwijzigingen, migraties |
| Offline online | Medium | minimaal | Staat inconsistenties |
| AUTOMATISCH SLUITEN uitschakelen | Laag | Geen | Regelmatige open/sluitcycli |
| Logbestand verwijderen | Hoge | Ja | Beschadigde logs, dev-omgevingen |
| Losmaken/opnieuw bevestigen | Hoge | Ja | Ontbrekende of beschadigde logs |
| Logboeken opnieuw opbouwen | Hoge | Ja | Ontbrekende LDF-bestanden |
| Noodreparatie met DBCC CHECKDB | Zeer hoog | Ja | Ernstige corruptie, laatste redmiddel |
| FILESTREAM repareren | Medium | Geen | FILESTREAM-configuratieproblemen |
| bijwerken SQL Server | Medium | Geen | Bekende versiefouten |
| Herstellen van backup | Laag | Controlled | Wanneer reparatiemethoden falen |
| Herstel tools | Medium | Variabel | Ernstige corruptie, geen back-ups |
22.2 Checklist noodhulp
Eerste 5 minuten:
- Check SQL Server foutenlogboeken
- Controleer de toegankelijkheid van databasebestanden
- Controleer de beschikbare schijfruimte
- Poging tot herstart van de service
- Foutmeldingen in het document
Volgende 15 minuten:
- Probeer offline/online als het herstarten van de service mislukt.
- Controleer en los duidelijke toestemmingsproblemen op
- Controleer of de bestandspaden correct zijn
- Windows-gebeurtenislogboeken bekijken
- Beoordeel de beschikbaarheid van back-ups
22.3 Aanvullende bronnen
Onthoud: preventie door middel van goede back-ups, monitoring en onderhoud is altijd beter dan herstel. Door deze procedures regelmatig te testen in niet-productieomgevingen, bent u voorbereid wanneer er problemen optreden met SQL-databaseherstel.
Over de auteur
Yuan Sheng is een senior databasebeheerder (DBA) met meer dan 10 jaar ervaring in SQL Server omgevingen en enterprise databasebeheer. Hij heeft honderden databaseherstelscenario's succesvol opgelost in financiële dienstverlening, gezondheidszorg en productiebedrijven.
Yuan is gespecialiseerd in SQL Server Databaseherstel, oplossingen voor hoge beschikbaarheid en prestatieoptimalisatie. Zijn uitgebreide praktijkervaring omvat het beheer van multi-terabyte databases, de implementatie van Always-On Availability Groups en de ontwikkeling van geautomatiseerde back-up- en herstelstrategieën voor bedrijfskritische bedrijfssystemen.
Met zijn technische expertise en praktische aanpak richt Yuan zich op het creëren van uitgebreide handleidingen die databasebeheerders en IT-professionals helpen complexe problemen op te lossen. SQL Server uitdagingen efficiënt. Hij blijft op de hoogte van de nieuwste SQL Server releases en de evoluerende databasetechnologieën van Microsoft, waarbij hij regelmatig herstelscenario's test om ervoor te zorgen dat zijn aanbevelingen overeenkomen met de beste praktijken in de praktijk.
Heb vragen over SQL Server herstel of heeft u aanvullende begeleiding nodig bij het oplossen van databaseproblemen? Yuan verwelkomt feedback en suggesties om deze technische middelen te verbeteren.














