Hur man återställer MS SQL-databas från misstänkt läge?

när SQL-databasen går in i misstänkt läge blir den otillgänglig. I en sådan situation kommer du varken att kunna ansluta till databasen eller återställa den under Serverstart.

Återställ MS SQL-databas från misstänkt läge
Figur 1: databas i misstänkt läge

kolla in Infografiken nedan för snabba lösningar för att återställa databasen från misstänkt läge i SQL Server 2008 och högre versioner.

när går SQL-databasen till misstänkt läge?

när SQL server misstänker att den primära filgruppen i databasen är skadad eller om databasfilen saknas, är databasstatusen inställd på ’misstänkt’.

det finns också ett brett spektrum av fel som kan resultera i SQL-databas i misstänkt läge.Några av dem listas enligt nedan:

  1. systemet misslyckas med att öppna enheten där data-eller loggfilen för SQL server finns.
  2. SQL server kraschar eller startar om mitt i en transaktion, vilket resulterar i en korrupt eller otillgänglig transaktionsloggfil.
  3. SQL Server försöker öppna en databas, och filen som tillhör den databasen är redan öppen av antivirusprogram installerat på ditt system.
  4. databasen avslutas onormalt.
  5. brist på diskutrymme.
  6. SQL kan inte slutföra en rollback eller roll forward-operation.
  7. Databasfiler hålls av operativsystemet, tredjeparts backup-programvara etc.

Hur får man SQL-databas ur misstänkt läge?

OBS: Du kan försöka återställa databasen i misstänkt läge från en välkänd säkerhetskopia. Om säkerhetskopian inte är tillgänglig fortsätter du med följande steg.

Följ stegen nedan för att återställa MS SQL-databas från misstänkt läge:

Steg 1: Öppna SSMS och anslut till databasen.

Anslut till SQL Server-databasen i SSMS
Figur 2: Anslut till databasen

steg 2: Välj alternativet ny fråga.

Välj Ny Fråga för att öppna frågefönstret i SSMS
Figur 3: Välj Ny fråga

steg 3: I Frågeredigeringsfönstret anger du följande kod för att stänga av den misstänkta flaggan i databasen och ställa in den i nödsituation:

EXEC sp_resetstatus 'db_name';ALTER DATABASE db_name SET EMERGENCY
Ställ in SQL-databas i nödläge
Figur 4: Ställ in Databas i nödläge

OBS!: Om du inte kan ställa in databasen i nödläge, Hoppa till nästa lösning.

steg 4: Utför en konsistenskontroll i huvuddatabasen. För att göra det, kopiera och klistra in följande kod i frågeredigeraren:

DBCC CHECKDB ('database_name')
kontrollera SQL-databasens konsistens
Figur 5: Kontrollera databasens konsistens

Steg 5: Ta sedan databasen till Enanvändarläget och rulla tillbaka de tidigare transaktionerna genom att utföra kommandot nedan:

ALTER DATABASE database_name SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Ställ in SQL-databasen till enanvändarläge
Figur 6: Ställ in databasen till Single_User-läge

steg 6: Ta en fullständig säkerhetskopia av databasen.

Steg 7: försök Databasreparationen tillåta viss dataförlust genom att använda kommandot DBCC CHECKDB ’REPAIR_ALLOW_DATA_LOSS’ :

DBCC CHECKDB ('database_name', REPAIR_ALLOW_DATA_LOSS)
använd DBCC chkdb kommando med reparationsalternativ
Figur 7: Reparera databas med DBCC CHECKDB

steg 8: Ta databasen i fleranvändarläge:

ALTER DATABASE database_name SET MULTI_USER
Ställ in SQL-databasen till fleranvändarläge
figur 8: Ställ in databasen till fleranvändarläge
ALTER DATABASE database_name SET MULTI_USER

steg 9: uppdatera databasservern.

när du har slutfört dessa steg bör du kunna ansluta till databasen. Vid eventuell dataförlust har du db-säkerhetskopian att återställa från (Steg 6).

vad händer om den här lösningen inte fungerar?

om din serverdatabasfil har blivit allvarligt skadad kan de ovan nämnda stegen misslyckas med att återuppliva databasen. Försök nu återställa databasen genom att använda Stellar Repair för MS SQL.

gratis nedladdning

programvaran kan fixa vanliga SQL – databas korruptionsfel som uppstår på grund av orsaker som databasen i misstänkt läge och flera andra. Programvaran använder avancerade algoritmer för att reparera och återställa SQL db från misstänkt läge till normalt tillstånd (online).

Hur återställer du SQL-databasen från misstänkt läge med Stellar SQL Recovery Tool?

se till att stänga serverinstansen innan du kör Stellar Repair för MS SQL-programvara.

Steg 1: Ladda ner, installera och kör Stellar Repair för MS SQL-programvara.

steg 2: i fönstret Välj databas väljer du bläddra eller sök för att välja SQL-databasfilen (.mdf) av den misstänkta databasen.

Figur 9: Välj databasfil

steg 3: när filen är vald, slå reparation.

reparera vald korrupt databasfil med Stellar Repair för SQL-programvara
Figur 10-reparera vald fil

OBS!: se till att avmarkera kryssrutan ’Inkludera raderade poster’ om du inte vill att de raderade posterna ska återställas.

steg 4: förhandsgranska den reparerade MDF-filen för återställbara SQL server-databasobjekt.

förhandsgranska reparerade databaskomponenter
Figur 11: förhandsgranskningsfönster

Steg 5: Klicka på Spara på Arkiv-menyn för att spara den reparerade filen.

välj Spara alternativ för att spara reparerad databasfil
Figur 12: Arkiv-menyn

steg 6: från fönstret Spara databas, utför följande:

  • Välj MDF under Spara som.
  • spara den reparerade filen i ny databas eller levande databas.
  • fyll i detaljerna under Anslut till Server.
Lägg till detaljer för att spara reparerad databasfil
figur 13: spara Databasfönster

Steg 7: Klicka på Spara.

öppna SSMS och fäst db (som innehåller den reparerade MDF-filen). Du kommer att kunna komma åt databasen.

ytterligare funktioner i programvaran

  • reparerar korrupta MDF-och NDF-filer.
  • återställer tabeller, utlösare, nycklar, index, lagrade procedurer, standardvärden, regler, schema etc.
  • stöder MS SQL 2019, 2017, 2016, 2014, 2012, 2008 R2 och lägre versioner.
  • innehåller flera sparalternativ för att spara den reparerade databasen inklusive MS SQL (MDF), CSV, HTML och XLS.

programvaran är betrodd av Microsoft MVPs

slutsats

det här inlägget diskuterade metoder på ’hur man återställer MS SQL-databas från misstänkt läge’. Det beskrivs de manuella stegen för att åtgärda SQL-databasen i misstänkt läge fråga. Det förklarade också hur du kan använda SQL database repair-programvara för att reparera misstänkt databas.

You might also like

Lämna ett svar

Din e-postadress kommer inte publiceras.