vad är Varning: databas <db-namn> är misstänkt? Du har förmodligen sett en databas markerad som misstänkt i SSMS och du vet inte vad den representerar. Läs artikeln nedan för att ta reda på mer information om detta!
vad är Varning: databas db-namn är misstänkt?
ibland kan vi ställas inför en situation som är kritisk, på grund av vår SQL Server-databas går in misstänkt läge. Då kan databasen inte användas längre och inget arbete kan göras.
den främsta anledningen till att databasen går i misstänkt läge är att den primära filgruppen har skadats och databasen inte kan återställas under start av SQL Server.
databasen kan också komma i misstänkt tillstånd av flera andra skäl, vilket kan inkludera:
- ett systemfel som kan orsakas av en felaktig avstängning av databasservern
- en skadad loggfil eller en skadad MDF-fil
- om det inte finns mer utrymme på disken
- SQL Server kan inte slutföra en roll forward eller rollback operation
- begränsningar i termer av utrymme för FAT32 filsystem och andra orsaker
för att reparera databasen och återhämta sig från detta tillstånd måste du göra följande steg:
- vi börjar med att ändra status för databasen genom att utföra den lagrade proceduren sp_resetstatus
EXEC sp_resetstatus 'TestDB'
- Ställ in databasen till” nödläge”
ALTER DATABASE TestDB Ställ in nödsituation;
- kontrollera databasen för eventuella inkonsekvenser
DBCC checkdb ('TestDB');
- om du stöter på några fel under DBCC-fasen, sätt sedan databasen omedelbart i enanvändarläge med hjälp av frågan nedan:
ALTER DATABASE TestDB Ställ in SINGLE_USER med omedelbar återställning;
- också, vid denna punkt, av säkerhetsskäl rekommenderar vi att du gör en säkerhetskopia av databasen
- när du är klar med att göra en säkerhetskopia av databasen bör du fortsätta att köra följande fråga. Men kom ihåg att när du använder följande fråga, med parametern REPAIR_ALLOW_DATA_LOSS, kör du en enkelriktad operation som reparerar din databas men alla åtgärder som görs under denna process kan inte rullas tillbaka. Det finns ingen lösning för att komma tillbaka till ett tidigare tillstånd i databasen, varför vi rekommenderar starkt att du gör den säkerhetskopia som vi föreslog vid föregående punkt
DBCC CheckDB ('TestDB', REPAIR_ALLOW_DATA_LOSS);
- den sista frågan du ska köra är att ställa in databasen i fleranvändarläge
ändra databas TestDB SET MULTI_USER;
- det sista steget är att uppdatera din databasserver och kontrollera att anslutningen till din databas fungerar. Efter denna punkt användare bör ha möjlighet att ansluta till databasen. Om det finns någon dataförlust kan du återställa databasen som du tidigare säkerhetskopierat