Gjenopprett SQL Server Ressursdatabase
admin - februar 10, 2022Av: Daniel Farina | Oppdatert: 2019-10-25 | Kommentarer (2 | / Relatert: Mer > SQL Server-Konfigurasjoner

Gratis MSSQLTips Webinar: Konfigurere SQL Server For Best Ytelse
Delta på dette webinaret for å lære om beste praksis og trinn for å sørge FOR AT SQL Server-konfigurasjonen er satt opp for å maksimere ytelsen.
Problem
en oppdatering ble brukt automatisk til min FOREKOMST AV SQL Server Av Windows Update.Dette kunne ha gått ubemerket, som det ofte skjer Med Windows-oppdateringer. Når jeg prøvde å få tilgang TIL SQL Server-forekomsten, fant jeg ut at mssqlsystemresource-databasen var fraværende fra hvor DEN skulle være, OG SQL Server ville ikke starte opp. I dette tipset vil jeg fortelle deg hvordan jeg løste dettespørsmålet.
Løsning
den andre dagen forsøkte jeg å koble til SQL Server test miljø withSQLServer Management Studio og fikk feilmeldingen «server ikke funnet».
som en normal reaksjon åpnet JEG SQL Server Configuration Manager for å sjekke SQL Serverservice-statusen; og som du kanskje gjetter, kjørte tjenesten ikke. På dette punktet var jeg litt bekymret, fordi TJENESTENE FOR SQL Server er satt til å starte automatisk.
jeg gikk foran med det første trinnet med gjenoppretting, som var å prøve å starteforekomsten og se hva som skjer. Da jeg prøvde å starte SQL Server-forekomsten, fikk jeg følgende feilmeldingersier at forespørselen mislyktes, og at jeg må konsultere hendelsesloggen eller otherapplicable feilloggen for detaljer. Du kan se meldingen på skjermopptaketnedenfor.

på dette punktet innså jeg at det ikke var en enkel ting å løse, så jeg fulgte themessages instruksjoner og åpnet Event Viewer-programmet for å se theevent logg på søk etter svar.
Først så jeg På Programloggen og søkte etter en hendelse med en sourceequal TIL MSSQLSERVER som er forekomsten AV SQL Server jeg feilsøkte.Jeg fant ut at det var en feil relatert TIL SQL Server som sa » OpenFailed: Kunne ikke åpne filemssqlsystemresource.mdf OS error: 2 » (systemet kunne ikke finne filen spesifisert) somvises på skjermbildet nedenfor. For de av dere som ikke vet, er filen nevnt nedenfor en del av Det som kalles Ressursdatabasen og isrequired FOR SQL Server å starte opp.

Sql Server Mssqlsystemresource-Databasen
mssqlsystemresource-databasen er den fysiske databasen som inneholder alle definisjonene av systemobjektene som er inkludert I SQL Server. Denne databasen er skrivebeskyttet og er ikke tilgjengelig selv for medlemmer av sysadmin server roleunless forekomsten er tilgjengelig via adedicated administrator connection etter beingstarted i single user mode (med alternativet-m oppstart).
På Grunn Av At Ressursdatabasen inneholder alle systemobjektkoden (den inneholder ingen brukerdata eller metadata), oppgraderingen av versjonerutføres ved å erstatte Ressursdatabasefilene på instansensbinn-mappen.
Gjenopprette SQL Server mssqlsystemresource database
etter å ha funnet ut at filene for mssqlsystemresource databaseble savnet, trengte jegå vite hvorfor det skjedde og hvordan du løser problemet. Det første jeg instinktivt gjorde var å søke på internett om mssqlsystemresource databaser forsvinner og jeg fant followingMicrosoft artikkel:FIX: Ressursdatabasen mangler etter at du har installert oppdateringer eller service packsfor forekomster AV SQL Server 2012 en etter en, og start deretter serveren på nytt.
Å være klar Over At Microsoft-artikkelen uttalte at de berørte versjonene ER SQL Server 2012 and2014, i mellomtiden var SYSTEMET MITT SQL Server 2017, men jeg trodde jeg ville gå neddenne banen for å se.
til min overraskelse så jeg detfølgende to oppdateringer var planlagt å kjøre etter hverandre:
- Sikkerhetsoppdatering FOR SQL Server-2017 RTM (KB4505224)
- Sikkerhetsoppdatering For SQL Server-2016 SP1 (KB4505219)

Nå som jeg visste årsaken, trengte jeg å finne ut hvordan du gjenoppretter mssqlsystemresourcedatabase, siden det er min hjemmedatamaskin, hadde jeg ikke en sikkerhetskopi. Itried laster ned pakken og installerer den manuelt, men kanskje fordi mssqlsystemresourcedatabase manglet, fungerte det ikke; noe av en kylling-og-egg-situasjon.
Det var ikke mine intensjoner om å installere SQL Server på NYTT, så jeg valgte en merheterodox tilnærming. Jeg åpnet den midlertidige mappen som oppdateringen bruker til å dekomprimere filer. Du kan notere den mappen etter at du har startet oppsettprogrammet bytaking a screen capture som jeg gjorde neste.

etter å ha funnet temp-katalogen, søkte jeg etter banen x64 \ setup \ og afterlooking på filene jeg gjettet at sql_engine_core_inst.mspmay har en kopi av databasen mssqlsystemresource. Denne filen er komprimert, såfor å åpne den trenger du et komprimeringsverktøy. Jeg brukte 7-Zip som er gratis og du kan laste ned https://www.7-zip.org/.
på neste skjermbilde kan du se at Det er To filer, Eng_re_resourcedb_ldf_64 Og ENG_RE_ResourceDb_mdf_64. Dette er filene til themssqlsystemresource database for 64 bit utgaven AV SQL Server I Englishlanguage. Hvis du trenger en annenspråk, må du endre språket på oppdateringsnedlastingssiden. Husk detoppsettmotoren inneholder alle språkene, men distribusjonspakkene er iet bestemt språk.

jeg pakket ut de to filene og omdøpt dem som følger og kopierte theseto mappen nevnt ovenfor i feilmeldingen der disse filene skaleksisterer.
- ENG_RE_ResourceDb_ldf_64 omdøpt til mssqlsystemresource.ldf
- ENG_RE_ResourceDb_mdf_64 omdøpt til mssqlsystemresource.mdf
etter at disse filene ble omdøpt og kopiert til riktig mappe, kunne jeg starte SQL Server-tjenestene og alt fungerte igjen.
Neste Trinn
- hvis du står overfor denne eller en lignende situasjon for å måtte gjenopprette resourcedatabase uten å ha en sikkerhetskopi, for å kunne pakke ut mssqlsystemresourcedatabase-filene fra en installasjonspakke, må du vite den nøyaktige versjonen AV SQL Serverdu kjører. Hvis du ikke vet hvordan du finner det, kan du lese dette tipset somforklarer ulike metoder for å finne ut:hvordan fortelle hvilken SQL Server-versjon du kjører.
- det er en god praksis å ta sikkerhetskopier av ressursdatabasen; hvis du vilå vite hvordan du gjør det, foreslår jeg at du tar en titt på dette tipset:SQL Server backup and restore Av Ressursdatabasen.
- i dette tipset nevnte jeg at du trenger en «Dedikert Admin Connections»for å kunne få tilgang til ressursdatabasen. Du kan lese mer om DedicatedAdmin Tilkoblinger på theSQL Server Dedikert Administrator Connection Tips Kategori Og ta thenext tips som utgangspunkt: Dedikert Administrator Connection I SQL Server.
- I Tillegg nevnte Jeg At Hvis du vil ha tilgang til ressursdatabasen, må du også starte SQL Server i enkeltbrukermodus. I dette tipset vil du lærehvordan bruke oppstartsparametrene som lar deg starte forekomsten din ienkelt brukermodus: Innstilling AV SQL Server Oppstartsparametere.
- Hvis problemet ditt inneholder et scenario for å gjenopprette Hoveddatabasen uten å ha en sikkerhetskopi, Kan Du se på dette tipset:Gjenopprette SQL Server-Hoveddatabasen Selv uten Sikkerhetskopiering.
Sist Oppdatert: 2019-10-25


Om forfatteren

Vis alle mine tips
- Flere SQL Server DBA-Tips…
Siste innlegg
- Om Oss-Gandolfo Helin & Fountain Literary Management
- 5 Ting Å Vite Om Shalane Flanagan
- Rolling Stone
- Hudtoksisitet
- Sergei Tcherepnin-Artadia
- Hvordan Takle Sosialt Stress Og Press
- Hvilken Hest Rase Er Den Smarteste?
- Kiselsyre (SI(OH)4) er en betydelig innflytelse på atomabsorpsjonssignalet av aluminium målt ved grafittovn atomabsorpsjonsspektrometri (gfaas)
- Explaining Our Smarts Part 8 – Self Smart
- Sadie T. M. Alexander (1898-1989)
Legg igjen en kommentar