Skupna raba zdaj:
Kazalo skrij

Ko vaša baza podatkov SQL zaide v stanje čakanja na obnovitev, postane nedostopna in delovanje se ustavi. Ta obsežen vodnik ponuja 15 preizkušenih metod za reševanje težav s čakanjem na obnovitev baze podatkov SQL, od preprostegatarza napredna nujna popravila.

1. Razumevanje stanja čakanja na obnovitev baze podatkov SQL

Preden se lotite kakršnih koli popravkov, je za izbiro prave rešitve ključnega pomena razumevanje vzrokov za težave, ki čakajo na obnovitev baze podatkov SQL.

1.1 Kaj pomeni »Čakajoče okrevanje«?

Čakanje na okrevanje pomeni, da SQL Server prepozna, da je treba obnoviti bazo podatkov, vendar ne moretarpostopek obnovitve. Za razliko od »Obnavljanje«, ki prikazuje aktivno obnovitev v teku, »Obnova v teku« pomeni, da je obnovitev blokirana zaradi ovire.

SQL Server baza podatkov v stanju čakanja na obnovitev.

Ključna stanja baze podatkov vključujejo:

  • ONLINE – Normalno obratovalno stanje
  • OKREVANJE – Postopek okrevanja aktivno teče
  • ČAKANJE NA IZTERJAVO – Obnovitev ni mogočatart
  • SUMLJIV – Zbirka podatkov vsebuje kritične napake
  • V SILI – Omejen dostop samo za branje za popravila
  • OFFLINE – Ročno prevzeto brez povezave

1.2 Pogosti vzroki čakanja na obnovitev baze podatkov SQL

Težave s čakanjem pri obnovi baze podatkov SQL so običajno posledica teh pogostih vzrokov:

  • Manjkajoče ali poškodovane datoteke dnevnika transakcij (LDF)
  • Med obnovitvenimi postopki ni dovolj prostora na disku
  • Okvare strojne opreme in nepričakovane zaustavitve sistema
  • Poškodovane datoteke baze podatkov MDF
  • Težave z dovoljenji za datoteke, ki preprečujejo dostop
  • SQL Server storitvetartežave s časom TUP-a
  • Napake v konfiguraciji FILESTREAM
  • Nepravilne poti datotek po selitvah strežnika

1.3 Kako preveriti stanje baze podatkov

Preverite stanje baze podatkov z uporabo teh metod:

Uporaba SQL Server Management Studio:

  1. Povežite se s svojim SQL Server primer
  2. Razširi Baze podatkov mapa
  3. Poiščite baze podatkov s statusom »(Čaka na obnovitev)«

SQL Server baza podatkov v stanju čakanja na obnovitev.

Uporaba ukaza T-SQL:

SELECT name, state_desc FROM sys.databases WHERE state_desc = 'RECOVERY_PENDING';

2. Začetna diagnozaostKoraki

Preden se lotite kakršne koli obnovitve baze podatkov SQL in čakate na rešitve, je bistvenega pomena pravilna diagnoza.

2.1 Preverite SQL Server Dnevniki napak

Dnevniki napak vsebujejo ključne informacije o tem, kaj je povzročilo stanje čakanja na obnovitev.

  1. Odprto SQL Server Studio za upravljanje
  2. Pomaknite se na upravljanje -> SQL Server Dnevniki
  3. Dvokliknite trenutni dnevnik, da si ogledate nedavne napake
  4. Poiščite sporočila o napakah, povezana z vašo zbirko podatkov

Preverjanje SQL Server dnevniki napak za nedavne napake, povezane z vašo zbirko podatkov.

Lahko pa uporabite T-SQL:

EXEC sp_readerrorlog;

2.2 Preverite dnevnike dogodkov sistema Windows

  1. Pritisnite Windows Key + R
  2. tip eventvwr.msc in pritisnite Enter
    Odprite pregledovalnik dogodkov sistema Windows.
  3. Pomaknite se na Windows Dnevniki -> sistem in uporaba
  4. Iskati SQL Server povezane napake v času, ko se je težava pojavila

V pregledovalniku dogodkov poiščite SQL Server povezane napake, ki lahko povzročijo težavo s čakanjem na obnovitev baze podatkov SQL.

2.3 Preverjanje dostopnosti datotek

  1. Pomaknite se do lokacij datotek zbirke podatkov
  2. Preverite obstoj datotek MDF in LDF
  3. Preverite, ali so pogoni povezani in dostopni
  4. Preverite, ali so omrežni pogoni pravilno nameščeni

3. Popravek št. 1: Restart SQL Server Storitve

Restarting SQL Server Storitve rešujejo številne težave z obnovitvijo baze podatkov SQL, ki jih povzročajo težave s časom ali temporarkonflikti virov.

3.1 Ko je servisna rešitevtart Deluje

Ta metoda je učinkovita za:

  • Časrary zaklepanje virov med starcev
  • Zamude pri razpoložljivosti pogona
  • Težave s časom odvisnosti storitev
  • Manjši konflikti konfiguracije

3.2 Kako rešititart SQL Server Storitve

Metoda 1: SQL Server Upravitelj konfiguracij

  1. Odprto SQL Server Upravitelj konfiguracij
  2. klik SQL Server Storitve
  3. Z desno miškino tipko kliknite SQL Server primer, kot na primer SQL Server (MSSQLSERVER)
  4. Izberite Restart
  5. Počakajte, da se storitev v celoti ponovno vzpostavitart

Restart the SQL Server storitev SQL Server Upravitelj konfiguracije.

2. način: Konzola storitev

  1. Pritisnite Windows Key + R
  2. tip services.msc in pritisnite Enter
    Odprite konzolo storitev sistema Windows.
  3. Najdi SQL Server primer, kot na primer SQL Server (MSSQLSERVER)
  4. Z desno tipko miške kliknite in izberite Restart

Restart the SQL Server storitev v konzoli storitev za rešitev težave s čakajočo obnovitvijo baze podatkov SQL.

3. način: PowerShell

Restart-Service -Name "MSSQLSERVER" -Force

3.3 Post-RestarPreverjanje

  1. Počakajte 2–3 minute za dokončanjetarcev
  2. Preverjanje stanja baze podatkov v SSMS
  3. Preverite dnevnike napak za nova sporočila
  4. Preizkus povezljivosti z zbirko podatkov

4. Popravek št. 2: Preverite in odpravite težave s prostorom na disku

Nezadosten prostor na disku je pogost vzrok za težave pri obnovitvi baze podatkov SQL. Obnovitvene operacije zahtevajo dodaten prostor za tempo.rary datoteke in rast dnevnika.

4.1 Prepoznavanje težav s prostorom na disku

  1. Odprto Raziskovalec datotek
  2. Pomaknite se do pogonov, ki vsebujejo datoteke zbirke podatkov
  3. Preverite razpoložljiv prosti prostor
  4. Zagotovite vsaj 10–20 % prostega prostora za operacije obnovitve

4.2 Sproščanje prostora na disku

  1. Izbriši nepotreben temporary datotek
  2. Odstrani SQL Server varnostne kopije datotek, če je prostora kritično malo
  3. Premaknite nebistvene datoteke na druge pogone
  4. Če je mogoče, skrčite druge datoteke baze podatkov

Skrčite datoteke baze podatkov (uporabljajte previdno):

DBCC SHRINKFILE (logicalfilename, target_size);

4.3 Nastavitev baze podatkov na spletu po popravku prostora

Ko je prostor na voljo, poskusite vzpostaviti povezavo z bazo podatkov:

ALTER DATABASE [DatabaseName] SET ONLINE;

5. Popravek št. 3: Nastavitev SQL Server Storitev do zamujene postaje Start

Nastavitev SQL Server do zakasnjenihtart odpravlja težave s čakajočimi obnovitvami baze podatkov SQL, ki jih povzročajo sistemi za shranjevanje ali omrežni pogoni, ki niso pripravljeni med zagonom sistema.

5.1 Razumevanje težav s časom

Težave s časom se pojavijo, ko:

  • Inicializacija SAN ali omrežnega pomnilnika traja nekaj časa
  • Črke pogonov niso dodeljene med zgodnjim zagonom
  • Omrežni pogoni zahtevajo preverjanje pristnosti
  • Krmilniki shranjevanja potrebujejo čas za inicializacijo

5.2 Konfiguracija zakasnjenega Start

  1. Pritisnite Windows Key + R
  2. tip services.msc in pritisnite Enter
    Odprite konzolo storitev sistema Windows.
  3. Najdi SQL Server primer, kot na primer SQL Server (MSSQLSERVER)
  4. Z desno tipko miške kliknite in izberite Nepremičnine
  5. Spreminjanje Startip čepa do Samodejno (zakasnjeno S)tart)
    Spreminjanje SQL Server startip preklopa na samodejno (zakasnjeno S)tart) za rešitev težave z obnovitvijo baze podatkov SQL.
  6. klik OK
  7. Restarsistem za testiranje

5.3 Alternativne rešitve za časovno usklajevanje

Za večji nadzor ustvarite načrtovano opravilo:

  1. Odprto Task Scheduler
  2. klik Dejanje -> Ustvari osnovno nalogo
  3. Vnesite Ime in Opis naloge, kot je »Zakasnitev s«tart od SQL Server storitev"
  4. Kompleti Trigger do Ko računalniktarts
  5. Kompleti Ukrep do Starprogram ta
  6. Kompleti Program / scenarij do celotne poti Sqlservr.exe, takole: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe. Za iskanje lahko uporabite funkcijo iskanja v sistemu Windows.
  7. Na zaključni strani izberite Odprite pogovorno okno Lastnosti za to opravilo, ko kliknem Dokončaj.
    Ustvarite nalogo za odložene start SQL Server v razporejevalniku opravil sistema Windows.
  8. klik Konec.
  9. V pogovornem oknu z lastnostmi opravila kliknite sprožilci tab
  10. Izberite sprožilec in kliknite Uredi
    Uredite sprožilec opravila v pogovornem oknu z lastnostmi opravila.
  11. V naprednih nastavitvah označite Odložitev naloge za: in nastavite čas na 3 minute.
    Nastavite nalogo na zakasnjenotart po 3 minutah, da odpravite napako »obnova baze podatkov SQL v teku«.
  12. klik OK.

6. Popravek št. 4: Popravite dovoljenja za datoteke in pravice dostopa

Težave z dovoljenji preprečujejo SQL Server dostopa do datotek baze podatkov, kar vodi v stanje čakanja na obnovitev baze podatkov SQL. Ustrezna dovoljenja za datoteke so bistvena za delovanje baze podatkov.

6.1 Pogoste težave z dovoljenji

  • SQL Server račun storitve nima pravic dostopa do datotek
  • Protivirusna programska oprema blokira dostop do datotek
  • Spremenjene varnostne politike
  • Težave z dovoljenji za skupno rabo v omrežju

6.2 Popravljanje dovoljenj mape

  1. Pomaknite se do mape z datotekami baze podatkov
  2. Z desno tipko miške kliknite mapo in izberite Nepremičnine
  3. Kliknite Varnost tab
  4. klik Uredi
  5. Dodaj SQL Server račun storitve, če manjka
  6. Grant Popoln nadzor Dovoljenja
  7. klik OK uporabiti spremembe

Preverite in popravite dovoljenje SQL Server račun storitve za SQL Server podatkovno mapo.

Uporaba ukazne vrstice (icacls):

icacls "C:\Data" /grant "NT SERVICE\MSSQLSERVER":F /T

6.3 Premisleki glede storitvenega računa

Preverite SQL Server račun storitve:

  1. Odprto SQL Server Upravitelj konfiguracij
  2. klik SQL Server Storitve
  3. Upoštevajte Prijavi se kot račun za SQL Server
  4. Prepričajte se, da ima ta račun ustrezna dovoljenja

Prijava SQL Server račun storitve za rešitev težave z obnovitvijo baze podatkov SQL.

7. Popravek št. 5: Ročno popravljanje poti datoteke

Težave s potjo datoteke se pojavijo, ko se datoteke zbirke podatkov premaknejo ali se spremenijo črke pogonov. Ta metoda posodablja SQL Servernotranje reference datotek brez premikanja dejanskih datotek.

7.1 Kdaj se pojavijo težave s potjo

  • Spremembe strojne opreme strežnika
  • Prerazporeditev črk pogona
  • Spremembe omrežne poti
  • Premestitve datotek baze podatkov

7.2 Popravljanje poti datotek

  1. Prepoznavanje trenutnih poti datotek v dnevnikih napak
  2. Poiščite dejanske datoteke baze podatkov
  3. Za posodobitev poti uporabite ALTER DATABASE

Pot do datoteke s posodobitvami:

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalDataFileName', FILENAME = 'C:\NewPath\DatabaseName.mdf');

Pot do datoteke dnevnika posodobitev:

ALTER DATABASE [DatabaseName] 
MODIFY FILE (NAME = 'LogicalLogFileName', FILENAME = 'C:\NewPath\DatabaseName_Log.ldf');

7.3 Koraki preverjanja

  1. Restart SQL Server Storitev
  2. Preveri stanje baze podatkov
  3. Preverite dnevnike napak za sporočila, povezana s potjo
  4. Preizkus povezljivosti z zbirko podatkov

8. Popravek št. 6: Preklopite bazo podatkov brez povezave in nato vzpostavite povezavo

Ta preprosta sprememba stanja lahko reši manjše težave z obnovitvijo baze podatkov SQL, tako da prisili prehod v čisto stanje in tempo čiščenja.rary ključavnice.

8.1 Kdaj ta metoda deluje

  • Manjše neskladnosti v državi
  • Časrary zaklepanje virov
  • Preprost postopek obnovitve ponastavi
  • Nekritične napake

8.2 Postopek brez povezave/spleta

  1. Zagotovite, da ni aktivnih povezav z bazo podatkov
  2. Izvedite ukaz brez povezave
  3. Počakajte nekaj sekund
  4. Izvedite spletni ukaz

Varna metoda (čaka, da se povezave zaprejo):

ALTER DATABASE [DatabaseName] SET OFFLINE;
ALTER DATABASE [DatabaseName] SET ONLINE;

Takojšnja metoda (prekine povezave):

ALTER DATABASE [DatabaseName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [DatabaseName] SET ONLINE;

8.3 Tveganja in dejavniki

Opozorilo: Uporaba možnosti ROLLBACK IMMEDIATE lahko povzroči izgubo podatkov zaradi nepotrjenih transakcij. Uporabljajte jo le, kadar je to potrebno, in se prepričajte, da so uporabniki odjavljeni.

9. Popravek št. 7: Onemogočite funkcijo SAMODEJNEGA ZAPIRANJA

Funkcija SAMODEJNEGA ZAPIRANJA lahko povzroči težave s čakanjem na obnovitev baze podatkov SQL, ko se baze podatkov pogosto odpirajo in zapirajo, kar povzroča časovne konflikte med operacijami obnovitve.

9.1 Razumevanje vpliva samodejnega zapiranja

  • Podatkovna baza se zapre po prekinitvi povezave zadnjega uporabnika
  • Ob vsakem odprtju baze podatkov je treba obnoviti
  • Ustvarja pogoste cikle okrevanja
  • Lahko moti druge operacije

9.2 Onemogočanje samodejnega zapiranja

Uporaba T-SQL:

ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;

Uporaba SQL Server Management Studio:

  1. Z desno tipko miške kliknite zbirko podatkov
  2. Izberite Nepremičnine
  3. Pojdi na možnosti Stran
  4. Kompleti Samodejno zapri do False
  5. klik OK

Onemogočanje lastnosti samodejnega zapiranja za SQL Server podatkovna baza v SQL Server Management Studio za reševanje težave z obnovitvijo baze podatkov SQL.

9.3 Povezane samodejne nastavitve

Za boljše delovanje razmislite tudi o onemogočanju AUTO_SHRINK:

ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;

10. Popravek št. 8: Izbrišite poškodovano datoteko dnevnika in jo obnovitetart

Ta metoda deluje, kadar je datoteka dnevnika transakcij močno poškodovana in je ni mogoče popraviti. Uporabljati jo je treba le v razvojnih okoljih ali kadar je izguba podatkov sprejemljiva.

10.1 Kdaj je brisanje dnevnika primerno

⚠️ POMEMBNO OPOZORILO: Ta metoda povzroča izgubo podatkov!

Uporabljajte le, kadar:

  • Delo z razvojnimi/testnimi bazami podatkov
  • Dnevniška datoteka je popolnoma poškodovana
  • Drugih možnosti za obnovitev ni
  • Na voljo so nedavne varnostne kopije

10.2 Postopek brisanja dnevniške datoteke

  1. stop SQL Server storitev v celoti
  2. Pomaknite se do lokacije datoteke baze podatkov
  3. Izbrišite datoteko .LDF (obdržite datoteko .MDF)
  4. Start SQL Server Storitev
  5. SQL Server bo samodejno ustvaril novo datoteko dnevnika

10.3 Pomembna opozorila

Posledice izgube podatkov:

  • Vse nepotrjene transakcije so lost trajno
  • Veriga dnevnika je prekinjena – diferencialne varnostne kopije niso veljavne
  • Obnovitev v določenem trenutku postane nemogoča
  • Uporabljajte samo v neprodukcijskih okoljih

11. Popravek št. 9: Odklop in ponovna pritrditev baze podatkov

Odpenjanje in ponovno pripenjanje sil SQL Server za obnovo manjkajočih ali poškodovanih dnevniških datotek. Ta metoda lahko reši težave s čakanjem na obnovitev baze podatkov SQL, ko so dnevniške datoteke problematične.

11.1 Kdaj odklop/ponovna pritrditev deluje

  • Manjkajoče datoteke dnevnika
  • Poškodovane glave dnevniških datotek
  • Spremembe poti datoteke dnevnika
  • Preprosti scenariji korupcije

11.2 Standardni postopek odklopa/ponovne priklopa

  1. Najprej nastavite bazo podatkov na način v sili
  2. Sprememba v večuporabniški način
  3. Odklopite bazo podatkov
  4. Ponovno pritrdite samo z uporabo MDF datoteke
-- Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET MULTI_USER;

-- Detach database
EXEC sp_detach_db '[DatabaseName]';

-- Re-attach with single file (MDF only)
EXEC sp_attach_single_file_db 
    @DBName = '[DatabaseName]', 
    @physname = N'C:\Data\DatabaseName.mdf';

11.3 Alternativne metode pritrjevanja

Za scenarije z več datotekami:

CREATE DATABASE [DatabaseName] 
ON (FILENAME = 'C:\Data\DatabaseName.mdf'),
   (FILENAME = 'C:\Data\DatabaseName_2.ndf')
FOR ATTACH;

12. Popravek št. 10: Obnova datotek dnevnika transakcij

Obnova dnevnika ustvari novo datoteko dnevnika transakcij, ko izvirnik manjka ali je nepopravljivo poškodovan. Ta metoda rešuje težave z obnovitvijo baze podatkov SQL, vendar povzroči izgubo podatkov.

12.1 Kdaj je potrebna obnova hlodov

  • Manjkajoče datoteke LDF po okvari strojne opreme
  • Hudo poškodovani dnevniki transakcij
  • Spremembe poti do dnevniške datoteke, ki jih ni mogoče popraviti
  • Nujne situacije za okrevanje

12.2 Postopek obnove dnevnika

⚠️ OPOZORILO: To povzroči izgubo podatkov!

  1. Nastavitev baze podatkov v način za nujne primere
  2. Uporabite ukaz REBUILD LOG
  3. Določite novo lokacijo datoteke dnevnika
  4. Prenesite bazo podatkov na splet
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

ALTER DATABASE [DatabaseName] REBUILD LOG ON 
(NAME = 'DatabaseName_Log', FILENAME = 'C:\Logs\DatabaseName_Log.ldf');
GO

ALTER DATABASE [DatabaseName] SET ONLINE;
GO

12.3 Razumevanje posledic izgube podatkov

Vzroki za obnovo dnevnika:

  • Izguba vseh nepotrjenih transakcij
  • Poškodovane zaporedne številke dnevnikov
  • Nezmožnost uporabe nadaljnjih varnostnih kopij dnevnikov
  • Obnovitev v določenem trenutku postane nemogoča

13. Popravek št. 11: Popravilo v nujnem načinu z DBCC CHECKDB

Popravilo v nujnih primerih je zadnja možnost za obnovitev baze podatkov SQL, če pride do težav, ki jih je povzročila poškodba. Ta metoda lahko popravi baze podatkov, vendar lahko povzroči znatno izgubo podatkov.

13.1 Razumevanje načina v sili

⚠️ IZJEMNO OPOZORILO: Velika nevarnost izgube podatkov!

Uporabite način v sili le, kadar:

  • Vse druge metode so odpovedale
  • Ni nedavnih varnostnih kopij
  • Obnova nekaterih podatkov je boljša od popolne izgube
  • Baza podatkov je kritično poškodovana

13.2 Postopek popravila v nujnih primerih

  1. Najprej naredite varnostno kopijo poškodovanih datotek baze podatkov
  2. Nastavitev baze podatkov v način za nujne primere
  3. Preklopi v način za enega uporabnika
  4. Zaženi CHECKDB z možnostjo popravila
  5. Vrnitev v večuporabniški način
-- Step 1: Set to emergency mode
ALTER DATABASE [DatabaseName] SET EMERGENCY;
GO

-- Step 2: Single user mode
ALTER DATABASE [DatabaseName] SET SINGLE_USER;
GO

-- Step 3: Repair with no data loss
DBCC CHECKDB ([DatabaseName], REPAIR_REBUILD) WITH ALL_ERRORMSGS;
GO

-- Step 4: Return to multi-user
ALTER DATABASE [DatabaseName] SET MULTI_USER;
GO

13.3 Post-Ocena popravila

  1. Preglejte izhod CHECKDB za popravila
  2. Preverite, ali manjkajo tabele ali podatki
  3. Preverite kritično funkcionalnost aplikacije
  4. Razmislite o obnovitvi iz varnostne kopije, če je preveč podatkovost

14. Popravek št. 12: Preverite in popravite konfiguracijo FILESTREAM

Težave s konfiguracijo FILESTREAM lahko povzročijo težave s čakanjem pri obnovitvi baze podatkov SQL. Ta metoda odpravlja napake pri obnovitvi, specifične za FILESTREAM.

14.1 Težave z obnovitvijo, povezane s FILESTREAM

  • Napake povezave gonilnika FILESTREAM
  • Neusklajenosti konfiguracij med SQL Server in OS
  • Težave s časom med storitvamitarcev
  • Težave z dovoljenji za vsebnike FILESTREAM

14.2 Odpravljanje težav s FILESTREAM

  1. Preverite raven konfiguracije FILESTREAM
  2. Preverite, ali je funkcija sistema Windows omogočena
  3. Restarzahtevane storitve
  4. Preveri dovoljenja vsebnika FILESTREAM

Preverite konfiguracijo FILESTREAM:

SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;

Omogoči FILESTREAM na ravni instance:

EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;

14.3 Najboljše prakse za FILESTREAM

  • Zagotovite dosledno konfiguracijo v vseh storitvahtarts
  • Preverite, ali so poti vsebnika FILESTREAM dostopne
  • Preverite, ali je funkcija Windows FILESTREAM pravilno omogočena
  • Spremljajte sporočila o napakah, povezana s FILESTREAM

15. Popravek št. 13: Posodobitev SQL Server Različica/servisni paketi

Starejši SQL Server Različice, zlasti izdaje RTM, vsebujejo znane napake, ki povzročajo težave s čakanjem na obnovitev baze podatkov SQL. Posodobitev na najnovejše servisne pakete odpravlja te težave.

15.1 Znane težave v starejših različicah

  • SQL Server Napake pri obnovitvi RTM iz leta 2005
  • Popravki za postopke obnovitve, specifični za servisni paket
  • Kumulativne posodobitve, ki obravnavajo robne primere
  • Težave z združljivostjo z novejšimi različicami sistema Windows

15.2 Postopek posodabljanja

  1. Preverite tok SQL Server različica
  2. Določite najnovejši razpoložljivi servisni paket
  3. Prenos iz Microsoft Download Center Zunanja povezava
  4. Načrtovanje obdobja vzdrževanja
  5. Namestite servisni paket
  6. Restarstoritve
  7. Preverjanje funkcionalnosti baze podatkov

Preverite trenutno različico:

SELECT @@VERSION;

15.3 Post-Preverjanje posodobitev

  1. Potrdite spremembo številke različice
  2. Preverite, ali so vse baze podatkov pravilno povezane s spletom.
  3. Izvedite osnovne preizkuse funkcionalnosti
  4. Spremljajte dnevnike napak za morebitne nove težave

16. Popravek št. 14: Obnovitev baze podatkov iz varnostne kopije

Ko težav z obnovitvijo baze podatkov SQL ni mogoče odpraviti s popravljalnimi metodami, obnovitev iz znane dobre varnostne kopije zagotavlja most zanesljiva rešitev s predvidljivimi mejami izgube podatkov.

16.1 Kdaj je rešitev obnovitev varnostne kopije

  • Več poskusov popravila je bilo neuspešnih
  • Kritični podatki o proizvodnji zahtevajo gotovost
  • Obstaja sprejemljivo obdobje izgube podatkov
  • Korupcija je prevelika za popravilo

16.2 Celoten postopek obnovitve baze podatkov

  1. Prepoznajte most nedavna uporabna varnostna kopija
  2. Zagotovite dovolj prostora na disku za obnovitev
  3. Po potrebi preklopite bazo podatkov v splet ali jo izbrišite
  4. Obnovi iz varnostne kopije datoteke
  5. Uporabite varnostne kopije dnevnikov, če so na voljo

Osnovna obnovitev iz popolne varnostne kopije:

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH REPLACE;

Obnovitev z varnostnimi kopijami dnevnikov za obnovitev v trenutku:

RESTORE DATABASE [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH NORECOVERY, REPLACE;

RESTORE LOG [DatabaseName] 
FROM DISK = 'C:\Backups\DatabaseName_Log.trn'
WITH RECOVERY;

16.3 Preverjanje in testiranje

  1. Preverjanje uspešnosti povezave baze podatkov
  2. Preverjanje celovitosti podatkov s CHECKDB
  3. Testiranje kritičnih funkcij aplikacije
  4. Potrdite, da je varnostno kopiranje/obnovitev končana brez napak

16.4 Referenca

Več informacij lahko izveste pri naših celovit vodnik o varnostnem kopiranju in obnavljanju SQL Server baze podatkov.

17. Popravek št. 15: Profesionalna orodja za obnovitev SQL

Ko ročne metode ne uspejo odpraviti težav z obnovitvijo baze podatkov SQL, lahko specializirana programska oprema za obnovitev izvleče podatke iz močno poškodovanih baz podatkov, ki jih ni mogoče popraviti s standardnimi metodami.

17.1 Kdaj razmisliti o orodjih tretjih oseb

  • Huda poškodba, ki jo je mogoče ročno popraviti
  • Kritični podatki brez razpoložljivih varnostnih kopij
  • Več neuspelih poskusov ročnega popravila
  • Časovno kritične zahteve za obnovitev

17.2 DataNumen SQL Recovery

DataNumen SQL Recovery je močan SQL Server orodje za obnovitev baze podatkov.

Spodaj so navedeni koraki za njegovo uporabo:

  1. Ustavite SQL Server Storitev.
    Ustavite SQL Server storitev v konzoli storitev.
  2. Naredite kopijo datotek baze podatkov v stanju čakanja na obnovitev, vključno s primarno datoteko MDF in sekundarnimi datotekami NDF.
  3. Start the SQL Server Storitev.
  4. Start DataNumen SQL Recovery.
  5. Kot vir baze podatkov, ki jo želite obnoviti, izberite kopijo namesto izvirne datoteke.
  6. Kliknite »Star»Obnovitev« in sledite navodilom za obnovitev baze podatkov.
  7. Po postopku obnovitve se bo v SQL Server ki vsebuje vse obnovljene podatke.

Uporaba DataNumen SQL Recovery popraviti eno poškodovano SQL Server Datoteko MDF in odpravite napako pri čakanju na obnovitev baze podatkov SQL.

18. Napredni scenariji odpravljanja težav

Kompleksna okolja zahtevajo specializirane pristope za reševanje težav, ki čakajo na obnovitev baze podatkov SQL.

18.1 Težave z več datotekami zbirk podatkov

Z bazami podatkov z več podatkovnimi datotekami (NDF) je treba ravnati previdno:

  • Ugotovite, katere skupine datotek so prizadete
  • Preverite dostopnost vseh datotek NDF
  • Razmislite o možnostih obnovitve, specifičnih za datotečno skupino
  • Ustrezno obravnavajte skupine datotek samo za branje

18.2 Skupine razpoložljivosti Always On

Obnovitev baze podatkov SQL čaka na vedno On okolja:

  • Najprej preverite stanje primarne replike
  • Preverjanje stanja sinhronizacije
  • Razmislite o odstranitvi in ​​ponovnem dodajanju problematične replike
  • Pregled konfiguracije skupine razpoložljivosti

18.3 Scenariji gruče in visoke razpoložljivosti

Obnovitev baze podatkov SQL čaka na gruča za preklop na izpad in visoko razpoložljivost scenariji:

  • Preverjanje dostopnosti skupnega prostora za shranjevanje
  • Preverite komunikacijo vozlišč gruče
  • Pregled dnevnikov grozda za preklop iz okvare
  • Zagotovite pravilno ločljivost DNS

18.4 Težave z WMI in na ravni sistema

Težave na ravni sistema lahko povzročijo težave z zbirko podatkov:

  • Poškodba repozitorija WMI
  • Neuspele posodobitve sistema Windows
  • Poškodba registra
  • Težave z odvisnostjo od storitev

19. Strategije preprečevanja

Preprečevanje težav, ki čakajo na rešitev pri obnovitvi baze podatkov SQL, je učinkovitejše kot njihovo odpravljanje po tem, ko se pojavijo.

19.1 Najboljše prakse varnostnega kopiranja

  1. Izvedite avtomatizirane urnike popolnega varnostnega kopiranja
  2. Konfigurirajte redne diferencialne varnostne kopije
  3. Nastavite pogosto varnostno kopiranje dnevnika transakcij
  4. Redno preizkušajte postopke obnove varnostnih kopij
  5. Shranjevanje varnostnih kopij na ločenih sistemih za shranjevanje
  6. Preverite celovitost varnostne kopije z RESTORE VERIFYONLY

19.2 Nadzor in vzdrževanje

  1. Nastavitev opozoril za spremljanje prostora na disku
  2. Načrtujte redne operacije DBCC CHECKDB
  3. Nadzor SQL Server dnevni dnevniki napak
  4. Izvajati spremljanje osnovne uspešnosti
  5. Konfiguracija SQL Server Opozorila agenta za kritične napake

19.3 Upoštevanje infrastrukture

  • Namestite UPS sisteme za zaščito napajanja
  • Uporabite shranjevanje podatkov na ravni podjetja z redundanco
  • Izvedite ustrezne postopke zaustavitve
  • Zagotovite stabilnost omrežja za skupno shrambo
  • Redno spremljanje stanja strojne opreme

19.4 SQL Server Najboljše prakse konfiguracije

  • Izberite ustrezne modele okrevanja
  • Konfigurirajte smiselne nastavitve samodejne rasti
  • Ločite podatke in dnevniške datoteke na različnih diskih
  • Uporabite namenske račune storitev z minimalnimi pravicami
  • Imejte SQL Server posodobljeno z najnovejšimi servisnimi paketi

20. Odpravljanje težav z odločitvenim drevesom in metodologijo

Pri težavah z obnovitvijo baze podatkov SQL, ki čakajo na odpravo težav, sledite temu sistematičnemu pristopu.

20.1 Sistematični diagnostični pristop

  1. Najprej preverite dnevnike napak – Vednotart SQL Server in dnevniki sistema Windows
  2. Preverjanje dostopnosti datotek – Zagotovite, da vse datoteke baze podatkov obstajajo in so berljive
  3. Preverite prostor na disku – Potrdite zadosten prostor za operacije reševanja
  4. Najprej poskusite preproste rešitve – Storitvene restart, brez povezave/splet
  5. Napredek pri kompleksnih popravilih – Šele ko preproste metode odpovejo
  6. Razmislite o obnovitvi iz varnostne kopije – Ko so tveganja popravila prevelika

20.2 Izbira prave metode popravila

Nizko tveganje (najprej poskusite):

  • Restart SQL Server Storitve
  • Preverjanje in razreševanje problema s prostorom na disku
  • Popravi dovoljenja za datoteke
  • Spletna/nepovezana baza podatkov

Srednje tveganje:

  • Popravki poti datoteke
  • Onemogoči SAMODEJNO ZAPIRANJE
  • Popravki konfiguracije FILESTREAM
  • Storitev ima zamudotart

Visoko tveganje (možnost izgube podatkov):

  • Izbriši datoteko dnevnika in ponovnotart
  • Odklop/ponovna priklop baze podatkov
  • Obnovi dnevnike transakcij
  • Popravilo v nujnih primerih z DBCC CHECKDB

20.3 Kdaj eskalirati

Poiščite strokovno pomoč, ko:

  • Več metod z visokim tveganjem je bilo neuspešnih
  • Baza podatkov vsebuje nenadomestljive kritične podatke
  • Korupcija vpliva na več podatkovnih baz
  • Sumi se na težave na ravni sistema
  • Časovne omejitve zahtevajo zagotovljene rezultate

21. Pogosta vprašanja

V: Kakšna je razlika med stanjema baze podatkov »OBNOVA« in »OBNOVA V ČAKU«?

A: »OBNOVA« pomeni, da baza podatkov aktivno izvaja obnovitvene operacije in bo po zaključku samodejno vzpostavljena. »OBNOVA V ČAKU« pomeni SQL Server ne moremtarPostopek obnovitve se lahko ustavi zaradi ovire, kot so manjkajoče datoteke, premalo prostora ali poškodba. Za rešitev težave s čakajočo obnovitvijo je potreben ročni poseg.

V: Kateri popravek naj najprej poskusim, ko naletim na težave s čakajočim obnovitvenim postopkom pri obnovi baze podatkov SQL?

A: Vedno starNajprej z najvarnejšimi metodami. Preverite SQL Server dnevnike napak, preverite razpoložljivost prostora na disku in nato poskusite znovatarting SQL Server storitve. Ti pristopi z nizkim tveganjem rešujejo most pogoste težave pri obnovitvi brez tveganja izgube podatkov.

V: Koliko časa naj čakam, preden poskusim z drugo metodo popravila?

A: Za storitvene potrebetarts, počakajte 2-3 minute za dokončanje startup. Za preproste spremembe stanja, kot je brez povezave/s povezavo, počakajte 30–60 sekund. Za kompleksna popravila, kot je DBCC CHECKDB, počakajte nekaj ur, odvisno od velikosti baze podatkov. Ne prekinjajte procesov obnovitve, ko je started.

V: Ali bom izgubil podatke pri odpravljanju težav, ki čakajo na obnovitev baze podatkov SQL?

A: Izguba podatkov je odvisna od uporabljene metode. Varne metode, kot je storitev restarPopravki ts, popravki prostora na disku in popravki dovoljenj ne povzročajo izgube podatkov. Metode z visokim tveganjem, kot so popravilo v nujnem načinu, obnova dnevnika ali brisanje dnevniških datotek, lahko povzročijo znatno izgubo podatkov. Vedno najprej poskusite varne metode.

V: Ali lahko preprečim pojavljanje težav, ki čakajo na obnovitev baze podatkov SQL?

O: Da, most Težave je mogoče preprečiti z ustreznim vzdrževanjem. Redno varnostno kopirajte, spremljajte prostor na disku, vzdržujte ustrezno kapaciteto shranjevanja, uporabljajte zaščito UPS, izvajajte rutinske operacije DBCC CHECKDB in vzdržujte SQL Server posodobljen z najnovejšimi servisnimi paketi.

V: Ali naj poskusim popraviti produkcijske baze podatkov med delovnim časom?

A: Med delovnim časom nikoli ne poskušajte uporabljati tveganih metod popravljanja produkcijskih baz podatkov. Za kompleksna popravila načrtujte vzdrževalna okna. Vendar pa varne metode, kot so servisna popravila,tarPopravke ts ali prostora na disku je mogoče poskusiti takoj, če blokirajo kritične operacije.

V: Kdaj naj obnovim iz varnostne kopije namesto da bi poskušal popravljati?

A: Obnovitev iz varnostne kopije, ko več poskusov popravila ne uspe, ko gre za kritične produkcijske podatke, ki ne predstavljajo tveganja za nadaljnjo poškodbo, ko imate nedavne varnostne kopije s sprejemljivimi obdobji izgube podatkov ali ko bi metode popravila trajale dlje kot operacije obnovitve.

V: Kako vem, ali so datoteke moje baze podatkov poškodovane ali preprosto nedostopne?

O: Preverite SQL Server dnevniki napak za določena sporočila o napakah. Težave z dostopnostjo datotek prikazujejo napake »datoteke ni mogoče najti« ali napake z dovoljenji. Poškodbe običajno prikazujejo napake kontrolne vsote, napake na ravni strani ali kršitve skladnosti. Za dokončno preverjanje poškodb, ko je baza podatkov dostopna, uporabite ukaz DBCC CHECKDB.

V: Kateri je najvarnejši način za kopiranje datotek baze podatkov pred poskusom popravil?

O: Ustavi se SQL Server storitev v celoti, nato kopirajte datoteki MDF in LDF na mesto varnostne kopije. Lahko pa uporabite ukaze za varnostno kopiranje baze podatkov, če je baza podatkov še vedno dostopna. Nikoli ne kopirajte datotek med SQL Server se izvaja, saj lahko to ustvari nedosledne kopije.

V: Ali lahko težave s čakanjem pri obnovi baze podatkov SQL vplivajo na več baz podatkov hkrati?

A: Da, težave na ravni sistema, kot so premalo prostora na disku, težave z računom storitve, napake shrambe ali SQL Server Napake v konfiguraciji lahko vplivajo na več baz podatkov. Vedno preverite, ali imajo druge baze podatkov podobne težave, da ugotovite širše sistemske težave.

V: Kako pogosto naj preizkušam postopke obnovitve baze podatkov?

A: Postopke obnovitve testirajte mesečno za kritične baze podatkov, četrtletno za pomembne baze podatkov. Vključite testiranje različnih scenarijev obnovitve, kot so obnovitev na določeno točko v času, obnovitev zaporedja dnevnikov in postopki obnovitve v sili. Vsak preizkus dokumentirajte in časovno določite za načrtovanje v sili.

V: Kdaj naj se obrnem na Microsoftovo podporo ali najamem strokovno pomoč?

A: Poiščite strokovno pomoč, kadar več poskusov popravila ne uspe, ko delate s kritičnimi podatki brez varnostnih kopij, ko se soočate s kompleksno poškodbo v več bazah podatkov, ko naletite na nedokumentirana sporočila o napakah ali ko časovne omejitve zahtevajo zagotovljene rezultate obnovitve.

V: Ali se orodja za obnovitev SQL-ja drugih ponudnikov splačajo investirati?

A: Orodja za obnovitev so dragocena, kadar ročne metode ne uspejo in ni varnostnih kopij. Most orodja ponujajo brezplačne preizkusne različice za preizkus obnovljivosti pred nakupom. Upoštevajte cost v primerjavi s profesionalnimi storitvami, vrednostjo podatkov in verjetnostjo uspeha. Orodja najbolje delujejo pri strukturnih poškodbah, vendar morda ne bodo obnovila vseh vrst podatkov.

V: Kaj naj storim, če se čakanje na obnovitev baze podatkov SQL ponavlja?

A: Ponavljajoče se težave kažejo na osnovne sistemske težave. Preverite morebitne okvare strojne opreme, nezadostne vire, težave s sistemom za shranjevanje ali težave s konfiguracijo. Spremljajte dnevnike dogodkov sistema Windows, uvedite celovito spremljanje in razmislite o nadgradnji strojne opreme ali prehodu na zanesljivejše sisteme za shranjevanje.

22. Zaključek in hiter pregled

Težave z obnovitvijo baze podatkov SQL je mogoče rešiti s temi 15 preizkušenimi metodami, od preprostega servisiranjatardo kompleksnih nujnih popravil.

22.1 Povzetek hitrih popravkov

Popravi način Raven tveganja Tveganje izgube podatkov Najbolje za uporabo
Restart SQL Server nizka Noben Težave s časom, temporary ključavnice
Preverite prostor na disku nizka Noben Napake, povezane z vesoljem
Zakasnjeno start nizka Noben Težave s časom shranjevanja
Popravite dovoljenja nizka Noben Napake zavrnjen dostop
Pravilne poti datotek nizka Noben Spremembe poti, migracije
Brez povezave / na spletu srednje Minimalna Nedoslednosti v državah
Onemogoči SAMODEJNO ZAPIRANJE nizka Noben Pogosti cikli odpiranja/zapiranja
Izbriši datoteko dnevnika visoka Da Poškodovani dnevniki, razvojna okolja
Odstrani/ponovno pritrdi visoka Da Manjkajoči ali poškodovani dnevniki
Obnovi dnevnike visoka Da Manjkajoče datoteke LDF
Nujna popravila z DBCC CHECKDB Zelo visoko Da Huda korupcija, zadnja možnost
Popravi FILESTREAK srednje Noben Težave s konfiguracijo FILESTREAM
Nadgradnja SQL Server srednje Noben Znane napake različice
Obnovi iz varnostne kopije nizka Kontrolirano Ko metode popravila ne uspejo
Orodja za obnovitev srednje Različno Huda korupcija, brez varnostnih kopij

22.2 Kontrolni seznam za ukrepanje v sili

Prvih 5 minut:

  1. Preveri SQL Server dnevniki napak
  2. Preverjanje dostopnosti datotek baze podatkov
  3. Preverite razpoložljiv prostor na disku
  4. Poskus servisne rešitvetart
  5. Sporočila o napakah v dokumentih

Naslednjih 15 minut:

  1. Poskusite brez povezave/spleta, če je storitev restarni uspelo
  2. Preverite in odpravite očitne težave z dovoljenji
  3. Preverite, ali so poti datotek pravilne
  4. Pregled dnevnikov dogodkov sistema Windows
  5. Ocenite razpoložljivost varnostnih kopij

22.3 Dodatni viri

Ne pozabite: Preprečevanje z ustreznim varnostnim kopiranjem, spremljanjem in vzdrževanjem je vedno boljše od obnovitve. Redno testiranje teh postopkov v neprodukcijskih okoljih zagotavlja, da ste pripravljeni na težave, ki čakajo na obnovitev baze podatkov SQL.


O Author

Yuan Sheng je višji administrator baz podatkov (DBA) z več kot 10 leti izkušenj na področju SQL Server okolja in upravljanje poslovnih baz podatkov. Uspešno je rešil na stotine scenarijev obnovitve baz podatkov v finančnih storitvah, zdravstvu in proizvodnih organizacijah.

Yuan je specializiran za SQL Server obnovitev baz podatkov, rešitve za visoko razpoložljivost in optimizacija delovanja. Njegove bogate praktične izkušnje vključujejo upravljanje večterabajtnih baz podatkov, implementacijo skupin razpoložljivosti Always On in razvoj avtomatiziranih strategij varnostnega kopiranja in obnovitve za ključne poslovne sisteme.

Yuan se s svojim tehničnim znanjem in praktičnim pristopom osredotoča na ustvarjanje celovitih vodnikov, ki pomagajo skrbnikom baz podatkov in IT-strokovnjakom reševati kompleksne SQL Server učinkovito se spopada z izzivi. Vedno je na tekočem z najnovejšimi SQL Server izdaje in Microsoftove razvijajoče se tehnologije baz podatkov, pri čemer redno testira scenarije obnovitve, da zagotovi, da njegova priporočila odražajo najboljše prakse iz resničnega sveta.

Imate vprašanja o SQL Server obnovitev ali potrebujete dodatna navodila za odpravljanje težav z zbirko podatkov? Yuan pozdravlja povratne informacije in predlogi za izboljšanje teh tehničnih virov.

Skupna raba zdaj: