Hoe MS SQL Database herstellen van verdachte modus?

Summary: Lees dit bericht om oplossingen te vinden voor het herstellen van MS SQL-databases die als verdacht zijn gemarkeerd. Er worden stapsgewijze instructies beschreven om het probleem 'SQL-server verdachte database' op te lossen door Transact-SQL (T-SQL) opdrachten uit te voeren in SQL Server Management Studio (SSMS). Er wordt ook een alternatieve oplossing geboden om de database te herstellen met een SQL Recovery tool.

Wanneer SQL-database in verdachte modus gaat, wordt deze ontoegankelijk. In een dergelijke situatie kunt u geen verbinding maken met de database of deze herstellen tijdens het opstarten van de server.

Afbeelding 1: Database in verdachte modus

Bekijk de onderstaande infographic voor snelle oplossingen om databases te herstellen vanuit de verdachte modus in SQL Server 2008 en hogere versies.

Wanneer gaat SQL-database naar de verdachte modus?

Als SQL Server vermoedt dat de primaire bestandsgroep van de database beschadigd is of als het databasebestand ontbreekt, wordt de databasestatus ingesteld op ‘Verdacht’.

Er is ook een breed scala aan fouten die kunnen leiden tot SQL-database in verdachte modus. Hieronder worden er enkele opgesomd:

Hoe SQL-database uit de verdachte modus halen?

OPMERKING: U kunt proberen de database in verdachte modus te herstellen vanaf een goede bekende back-up. Als de back-up niet beschikbaar is, ga dan verder met de volgende stappen.

Volg de onderstaande stappen om MS SQL-database te herstellen vanuit de verdachte modus:

Stap 1: Open SSMS en maak verbinding met de database.

Afbeelding 2: Verbinding maken met database

Stap 2: Selecteer de optie Nieuwe query.

Afbeelding 3: Nieuwe query selecteren

Stap 3: Voer in het venster Query-editor de volgende code in om de verdachte vlag van de database uit te schakelen en op NOODGEVALLEN te zetten:

EXEC sp_resetstatus ‘db_name’;

ALTER DATABASE db_name SET EMERGENCY

Afbeelding 4: Database instellen in noodmodus

OPMERKING: Als u de database niet in de noodmodus kunt zetten, ga dan naar de volgende oplossing.

Stap 4: Een verdachte database is misschien niet corrupt. U kunt bepalen of de database corrupt is of niet door de volgende opdracht DBCC CHECKDB uit te voeren.

DBCC CHECKDB (‘database_naam’)

Deze verklaring rapporteert eventuele consistentiefouten (indien gevonden) in de database en beveelt aan om het minimale reparatieniveau uit te voeren om de corruptie te herstellen.

Voordat je het reparatieproces start, moet je de database eerst in ‘Single User Mode’ zetten. Hierdoor kunnen andere gebruikers tijdens het reparatieproces geen wijzigingen in de database aanbrengen.

Afbeelding 5: Database consistentie controleren

Stap 5: Laten we nu de database in de Single User-modus zetten en de vorige transacties terugdraaien door het onderstaande commando uit te voeren:

ALTER DATABASE database_name SET SINGLE_USER MET ONMIDDELLIJKE ROLLBACK

Afbeelding 6: Database instellen op modus voor één gebruiker

Stap 6: Maak een volledige back-up van de beschadigde bestanden om gegevensverlies te voorkomen.

Stap 7: Nadat u de db in SINGLE USER-modus hebt gezet, probeert u de consistentiefouten te herstellen met de optie REPAIR_REBUILD van DBCC CHECKDB. Deze optie kan snel ontbrekende rijen in niet-geclusterde indexen repareren. Daarnaast kun je het gebruiken voor meer tijdrovende hersteloperaties, zoals het herbouwen van een index.

DBCC CHECKDB (‘database_naam’, REPAIR_REBUILD)

Als echter REPAIR_ALLOW_DATA_LOSS wordt voorgesteld als minimaal reparatieniveau, voer dan DBCC CHECKDB uit met de voorgestelde reparatieoptie. De syntaxis is als volgt:

DBCC CHECKDB (‘database_naam’, REPAIR_ALLOW_DATA_LOSS)

Afbeelding 7: Database repareren met DBCC CHECKDB

Stap 8: Zet de database in de Multi-User modus:

ALTER DATABASE database_naam SET MULTI_USER

Afbeelding 8: Database instellen op de modus voor meerdere gebruikers

ALTER DATABASE database_naam SET MULTI_USER

Stap 9: Vernieuw de databaseserver.

Na het voltooien van deze stappen zou u verbinding moeten kunnen maken met de database. In het geval van gegevensverlies, heb je de db-back-up om van terug te zetten (Stap 6).

Wat als deze oplossing niet werkt?

Als het databasebestand van je server ernstig corrupt is geworden, kan het zijn dat de bovenstaande stappen er niet in slagen om de database nieuw leven in te blazen. Probeer op dit punt de database te herstellen met Stellar Repair for MS SQL.

De software kan veelvoorkomende SQL database corruptiefouten oplossen die optreden als gevolg van redenen zoals de database in verdachte modus en diverse andere. De software maakt gebruik van geavanceerde algoritmen om SQL db te repareren en te herstellen van verdachte modus naar normale staat (online).

Hoe SQL Database herstellen van verdachte modus met de Stellar SQL Recovery Tool?

OPMERKING: Zorg ervoor dat u de serverinstantie afsluit voordat u de Stellar Repair for MS SQL-software uitvoert.

Stap 1: Download, installeer en start Stellar Repair for MS SQL-software.

Stap 2: Kies in het venster Database selecteren de optie Bladeren of Zoeken om het SQL databasebestand (.mdf) van de verdachte database te selecteren.

Afbeelding 9: Databasebestand selecteren

Stap 3: Zodra het bestand is geselecteerd, klik je op Repareren.

Afbeelding 10- Geselecteerd bestand repareren

OPMERKING: Zorg ervoor dat u het selectievakje ‘Inclusief verwijderde records’ uitschakelt als u niet wilt dat de verwijderde records worden hersteld.

Stap 4: Bekijk een voorbeeld van het gerepareerde MDF-bestand voor herstelbare SQL-server databaseobjecten.

Afbeelding 11: Voorbeeldvenster

Stap 5: Klik op Opslaan in het menu Bestand om het gerepareerde bestand op te slaan.

Afbeelding 12: Menu Bestand

Stap 6: Voer het volgende uit in het venster Database opslaan:

Afbeelding 13: Venster Database opslaan

Stap 7: Klik op Opslaan.

Open SSMS en koppel de db (met het gerepareerde MDF-bestand). Je hebt nu toegang tot de database.

Extra functies van de software

De software wordt vertrouwd door Microsoft MVP’s

Conclusie

In dit bericht worden methoden besproken over ‘Hoe MS SQL-database herstellen vanuit verdachte modus’. De beste aanpak is om de database te herstellen vanuit een gezonde back-up. Als je geen back-up hebt, gebruik dan de NOOD-modus om toegang te krijgen tot de database en deze te repareren. Het is echter mogelijk dat u de transacties die actief waren toen de database in verdachte modus ging, niet kunt terugdraaien. Ook kan het gebruik van de optie REPAIR_ALLOW_DATA_LOSS als minimaal reparatieniveau leiden tot gegevensverlies. Een beter alternatief is het gebruik van gespecialiseerde SQL-database reparatiesoftware die helpt bij het repareren en herstellen van de database van verdachte naar een normale staat.

Related Post

Exit mobile version