Hva ER ADVARSEL: Database < db-navn> ER MISTENKT? Du har sikkert sett en database merket SOM MISTENKT I SSMS, og du vet ikke hva den representerer. Les under artikkelen for å finne ut mer om dette!
HVA ER ADVARSEL: Database db-navn ER MISTENKT?
noen ganger kan vi bli møtt med en situasjon som er kritisk, PÅ GRUNN AV VÅR SQL Server database går Inn I Mistenkt Modus. På det tidspunktet kan databasen ikke brukes lenger, og det kan ikke gjøres noe arbeid.
hovedårsaken til at databasen går i suspect-modus, er fordi den primære filgruppen er skadet, og databasen kan ikke gjenopprettes under oppstart AV SQL Server.
databasen kan også komme I DEN MISTENKTE tilstanden av flere andre grunner, som kan omfatte:
- en systemfeil som kan skyldes feil avslutning av databaseserveren
- en SKADET LOGGFIL eller EN skadet MDF-fil
- hvis Det ikke er mer plass på Disken
- SQL Server kan ikke fullføre en roll forward-eller rollback-operasjon
- begrensninger når det gjelder PLASS FOR FAT32-filsystemer og andre årsaker
for å reparere databasen og gjenopprette fra denne tilstanden må du gjøre følgende:
- Vi starter med å endre statusen til databasen ved å utføre sp_resetstatus lagret prosedyre
EXEC sp_resetstatus 'TestDB'
- Sett databasen til» Nødmodus»
ALTER DATABASE TestDB SETT NØDSITUASJON;
- Sjekk databasen for eventuelle uoverensstemmelser
DBCC checkdb ('TestDB');
- hvis du støter på feil under dbcc-fasen, legg deretter databasen umiddelbart i ENKELTBRUKERMODUS ved hjelp av spørringen nedenfor:
ALTER DATABASE TestDB SETT SINGLE_USER MED TILBAKERINGING UMIDDELBAR;
- På dette tidspunktet anbefaler vi også at du tar en sikkerhetskopi av databasen
- når du er ferdig med å ta en sikkerhetskopi av databasen, bør du fortsette å kjøre følgende spørring. Men husk at MENS du bruker følgende spørring, MED PARAMETEREN REPAIR_ALLOW_DATA_LOSS, utfører du en enveisoperasjon som vil reparere databasen, men alle handlinger som er gjort under denne prosessen, kan ikke rulles tilbake. Det er ingen løsning for å komme tilbake til en tidligere tilstand av databasen, og derfor anbefaler vi sterkt at du lager sikkerhetskopien vi foreslo på forrige punkt
DBCC CheckDB ('TestDB', REPAIR_ALLOW_DATA_LOSS);
- den siste spørringen du bør kjøre er å sette databasen I FLERBRUKERMODUS
ALTER DATABASE TestDB SETT MULTI_USER;
- det siste trinnet er å oppdatere databaseserveren og kontrollere at tilkoblingen til databasen fungerer. Etter dette punktet bør brukerne ha mulighet til å koble til databasen. I tilfelle det er tap av data kan du gjenopprette databasen som du tidligere sikkerhetskopiert