Lær løsningene for å gjenopprette en mistenkt MSDB-database i SQL Server
SQL Server agent bruker msdb-databasen for å planlegge jobber og varsler ved å bruke andre funksjoner som SSMS, databasepost og tjenestemegler. Det kan være situasjoner der msdb-databasen din blir mistenkt og trenger gjenoppretting. Her tror du kanskje at en enkel gjenopprettingshandling ville være nok til å bringe databasen tilbake i helse, men det er ikke sant. Her må du sørge for mer enn bare gjenoppretting av databasen. For å finne ut hva som er de forskjellige veiene ut av denne situasjonen, fortsett å lese.
1. Gjenopprett MSDB-databasen ved hjelp av Backup
Dette kan være din foretrukne løsning på grunn av forsikringen om minst mulig tap av data, men det er viktig for deg å vite at mengden datatap også avhenger av hvor aktiv databasen du bruker for gjenoppretting. Hvis transaksjonsloggen sikkerhetskopieres ofte og databasen også er aktiv, kan du kanskje gjenopprette 100 % data. Så sørg for at du fortsetter å ta regelmessige sikkerhetskopier, slik at du i det minste har noe å falle tilbake på. Hvis dette ikke fungerer, kan du vurdere å bruke en spesialisert ødelagt SQL gjenopprettingsverktøy.
2. Få tak i en MSDB-sikkerhetskopi fra en annen SQL Server Forekomst
Dette kan være din plan B. Hvis du ender opp med en mistenkt msdb-database og ingen sikkerhetskopi å falle på, hva vil du gjøre da? Benytt deg av en annen SQL Server instans og dens msdb-sikkerhetskopi. Pass imidlertid på at forekomsten ligner på versjonen du hadde brukt, som nå har blitt korrupt. Det viktigste å huske på her er imidlertid at hvis msdb-databasen er ute av drift, må gjenopprettingen gjøres gjennom T-SQL. Siden SSMS ikke er i stand til å gjenopprette databaser fra GUI uten at msdb allerede kjører.
Og mens du bruker T-SQL for det samme, sørg for at den bygget og versjonen stemmer overens, ellers vil transplantasjonen ende opp i en feil.
3. Benytt MSDB Database Template i SQL Server
Hvis det ikke er noen sikkerhetskopi å gjenopprette fra og ingen annen SQL Server forekomst å gjøre bruk av, så må du bruke malene som er opprettet ved installasjonstidspunktet, for alle databaser. Dette alternativet vil være tilgjengelig for deg hvis du bruker en SQL Server 2008 eller senere utgave. Og på grunnlag av utgaven som er i bruk, vil lagringsbanen til disse malene variere.
Når du har funnet malen for msdb-databasen, må du lukke forekomsten og deretter erstatte den mistenkte msdb, sammen med transaksjonsloggen med malfilene deres, og deretter restart forekomsten. Dette vil starte forekomsten din uten feil!
En annen løsning du kanskje vil bruke er msdb-skriptene, som lar deg gjenskape objekter. Men dette kan bare gjøres hvis du har skriptene tilgjengelig med deg. Dette er egentlig ikke et gjenopprettingsalternativ, men noe som kan hjelpe deg å spare tid ved å unngå å tilbakestille alle objekter fra bunnen av.
Forfatterintroduksjon:
Victor Simon er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert gjenopprette tilgang og sql-programvareprodukter. For mer informasjon besøk https://www.datanumen.com/