Kun SQL-tietokanta jumiutuu palautusta odottavaan tilaan, tietokanta muuttuu käyttökelvottomaksi ja sen toiminnot pysähtyvät. Tämä kattava opas tarjoaa 15 todistettua menetelmää SQL-tietokannan palautusta odottavien ongelmien ratkaisemiseksi yksinkertaisista uudelleenkäynnistyksistä edistyneisiin hätäkorjauksiin.
1. SQL-tietokannan palautuksen odotustilan ymmärtäminen
Ennen korjausten yrittämistä on tärkeää ymmärtää, mikä aiheuttaa SQL-tietokannan palautusongelmia, jotta voidaan valita oikea ratkaisu.
1.1 Mitä tarkoittaa "Perintä kesken"?
Odottava takaisinperintä osoittaa, että SQL Server tunnistaa, että tietokanta tarvitsee palautusta, mutta ei voi aloittaa palautusprosessia. Toisin kuin "Palautetaan", joka näyttää aktiivisen palautuksen olevan käynnissä, "Palautusta odotetaan" tarkoittaa, että palautusta estää jokin este.
Keskeisiin tietokannan tiloihin kuuluvat:
- VERKOSSA – Normaali toimintatila
- PALAUTUMINEN – Palautusprosessi on aktiivisesti käynnissä
- PERINTÄ ODOTETAAN – Palautumista ei voida aloittaa
- EPÄILTY – Tietokannassa on kriittisiä virheitä
- HÄTÄ – Rajoitettu vain lukuoikeus korjauksia varten
- POISSA – Otettu manuaalisesti offline-tilaan
1.2 Yleisiä syitä SQL-tietokannan palautuksen odottamiseen
SQL-tietokannan palautuksen odottavat ongelmat johtuvat tyypillisesti näistä yleisistä syistä:
- Puuttuvat tai vioittuneet tapahtumalokitiedostot (LDF)
- Riittämätön levytila palautustoimintojen aikana
- Laitteistoviat ja odottamattomat järjestelmän sammumiset
- Vioittuneet MDF-tietokantatiedostot
- Tiedoston käyttöoikeusongelmat estävät pääsyn
- SQL Server palvelun käynnistyksen ajoitusongelmat
- FILESTREAM-määritysvirheet
- Virheelliset tiedostopolut palvelinsiirtojen jälkeen
1.3 Tietokannan tilan tarkistaminen
Tarkista tietokannan tila näillä menetelmillä:
Käyttäminen SQL Server Management Studio:
- Yhdistä SQL Server esimerkki
- Laajentaa Tietokannat kansio
- Etsi tietokantoja, joiden tila on ”(Palautus odottaa)”.
T-SQL-komennon käyttö:
SELECT name, state_desc FROM sys.databases WHERE state_desc = 'RECOVERY_PENDING';
2. Alustavat diagnostiset vaiheet
Asianmukainen diagnoosi on välttämätöntä ennen SQL-tietokannan palautusta odottavien korjausten yrittämistä.
2.1 Tarkista SQL Server Virhelokit
Virhelokit sisältävät tärkeitä tietoja siitä, mikä aiheutti palautus odottaa -tilan.
- avoin SQL Server Hallintostudio
- Navigoida johonkin videonhallinta -> SQL Server Lokit
- Kaksoisnapsauta nykyistä lokia nähdäksesi viimeisimmät virheet
- Etsi tietokantaasi liittyviä virheilmoituksia
Vaihtoehtoisesti voit käyttää T-SQL:ää:
EXEC sp_readerrorlog;
2.2 Tarkista Windowsin tapahtumalokit
- lehdistö Windows-näppäin + R
- Tyyppi eventvwr.msc ja paina Enter
- Navigoida johonkin Windows-lokit -> järjestelmä ja Hakemus
- Etsiä SQL Server ongelman ilmenemisaikaan liittyvät virheet
2.3 Tiedoston saavutettavuuden tarkistaminen
- Siirry tietokantatiedostojesi sijainteihin
- Varmista, että sekä MDF- että LDF-tiedostot ovat olemassa
- Tarkista, ovatko asemat verkossa ja käytettävissä
- Varmista, että verkkoasemat on asennettu oikein
3. Korjaus nro 1: Käynnistä uudelleen SQL Server Palvelut
uudelleenkäynnistyksen SQL Server palvelut ratkaisevat monia SQL-tietokannan palautuksen odottamiseen liittyviä ongelmia, jotka johtuvat ajoitusongelmista tai tilapäisistä resurssiristiriidoista.
3.1 Milloin palvelun uudelleenkäynnistys toimii
Tämä menetelmä on tehokas seuraaviin tarkoituksiin:
- Väliaikaiset resurssien lukitukset käynnistyksen aikana
- Aseman saatavuusviiveet
- Palveluriippuvuuden ajoitusongelmat
- Pienet määritysristiriidat
3.2 Uudelleenkäynnistys SQL Server Palvelut
Menetelmä 1: SQL Server Configuration Manager
- avoin SQL Server Configuration Manager
- Napauta SQL Server Palvelut
- Napsauta hiiren oikealla painikkeella SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
- valita Käynnistä uudelleen
- Odota, että palvelu käynnistyy kokonaan uudelleen
Menetelmä 2: Palvelukonsoli
- lehdistö Windows-näppäin + R
- Tyyppi services.msc ja paina Enter
- Etsi SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
- Napsauta hiiren kakkospainikkeella ja valitse Käynnistä uudelleen
Tapa 3: PowerShell
Restart-Service -Name "MSSQLSERVER" -Force
3.3 Uudelleenkäynnistyksen jälkeinen tarkistus
- Odota 2–3 minuuttia, kunnes käynnistys on valmis
- Tarkista tietokannan tila SSMS:ssä
- Tarkista uusien viestien virhelokit
- Testaa tietokannan yhteys
4. Korjaus nro 2: Tarkista ja ratkaise levytilaongelmat
Riittämätön levytila on yleinen syy SQL-tietokannan palautuksen odottaviin ongelmiin. Palautustoiminnot vaativat lisätilaa väliaikaisille tiedostoille ja lokitietojen kasvulle.
4.1 Levytilaongelmien tunnistaminen
- avoin File Explorer
- Siirry tietokantatiedostoja sisältäviin asemiin
- Tarkista käytettävissä oleva vapaa tila
- Varmista vähintään 10–20 % vapaata tilaa kierrätystoimia varten
4.2 Levytilan vapauttaminen
- Poista tarpeettomat väliaikaistiedostot
- Poista valinta SQL Server varmuuskopiotiedostot, jos tilaa on kriittinen
- Siirrä ei-välttämättömät tiedostot muille asemille
- Kutista muita tietokantatiedostoja, jos mahdollista
Pienennä tietokantatiedostoja (käytä varoen):
DBCC SHRINKFILE (logicalfilename, target_size);
4.3 Tietokannan asettaminen verkkoon tilakorjauksen jälkeen
Kun tilaa on vapaana, yritä tuoda tietokanta verkkoon:
ALTER DATABASE [DatabaseName] SET ONLINE;
5. Korjaus nro 3: Aseta SQL Server Palvelu viivästettyyn aloitukseen
Asetus SQL Server Viivästetty käynnistys ratkaisee SQL-tietokannan palautuksen odotusongelmat, jotka johtuvat tallennusjärjestelmien tai verkkoasemien olemattomuudesta järjestelmän käynnistyksen aikana.
5.1 Ajoitusongelmien ymmärtäminen
Ajoitusongelmia ilmenee, kun:
- SAN- tai verkkotallennustilan alustaminen vie aikaa
- Asemakirjaimia ei määritetä käynnistyksen alkuvaiheessa
- Verkkoasemat vaativat todennuksen
- Tallennusohjaimet tarvitsevat alustusajan
5.2 Viivästetyn käynnistyksen määrittäminen
- lehdistö Windows-näppäin + R
- Tyyppi services.msc ja paina Enter
- Etsi SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
- Napsauta hiiren kakkospainikkeella ja valitse Kiinteistöt
- Muutos Startup type että Automaattinen (ajastus)
- Napauta OK
- Käynnistä järjestelmä uudelleen testataksesi
5.3 Vaihtoehtoisia ratkaisuja ajoitukselle
Saat enemmän hallintaa luomalla ajoitetun tehtävän:
- avoin Tehtävien ajoitus
- Napauta Toiminto -> Luo perustehtävä
- Syötä sisään Nimi ja Tuotetiedot tehtävästä, kuten ”Viive aloitus” SQL Server palvelu "
- Asettaa Laukaista että Kun tietokone käynnistyy
- Asettaa Toiminta että Käynnistä ohjelma
- Asettaa Program / Script koko polulle Sqlservr.exe, kuten tässä: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe. Voit löytää sen Windowsin hakutoiminnolla.
- Valitse lopetussivulla Avaa tämän tehtävän Ominaisuudet-valintaikkuna, kun napsautan Valmis.
- Napauta Suorittaa loppuun.
- Napsauta tehtävän ominaisuusvalintaikkunassa laukaisee kieleke
- Valitse liipaisin ja napsauta muokata
- Tarkista Lisäasetuksissa Viivästytä tehtävää: ja aseta ajaksi 3 minuuttia.
- Napauta OK.
6. Korjaus nro 4: Korjaa tiedostojen käyttöoikeudet ja käyttöoikeudet
Käyttöoikeusongelmat estävät SQL Server pääsyn tietokantatiedostoihin, mikä johtaa SQL-tietokannan palautuksen odottaviin tiloihin. Oikeat tiedostojen käyttöoikeudet ovat välttämättömiä tietokannan toiminnalle.
6.1 Yleisiä käyttöoikeusongelmia
- SQL Server palvelutilillä ei ole tiedostojen käyttöoikeuksia
- Virustorjuntaohjelmisto estää tiedostojen käytön
- Muutetut suojauskäytännöt
- Verkkojaon käyttöoikeusongelmat
6.2 Kansion käyttöoikeuksien korjaaminen
- Siirry tietokannan tiedostokansioon
- Napsauta kansiota hiiren kakkospainikkeella ja valitse Kiinteistöt
- Valitse Turvallisuus kieleke
- Napauta muokata
- Lisää SQL Server palvelutili, jos puuttuu
- Grant Täydet Oikeudet
- Napauta OK ottaa muutokset käyttöön
Komentorivin (icacls) käyttö:
icacls "C:\Data" /grant "NT SERVICE\MSSQLSERVER":F /T
6.3 Palvelutilin huomioitavaa
Varmista SQL Server palvelutili:
- avoin SQL Server Configuration Manager
- Napauta SQL Server Palvelut
- Huomaa Kirjaudu sisään nimellä huomioon SQL Server
- Varmista, että tällä tilillä on asianmukaiset käyttöoikeudet
7. Korjaus #5: Tiedostopolun manuaalinen korjaus
Tiedostopolkuongelmia ilmenee, kun tietokantatiedostoja siirretään tai aseman kirjaimet vaihtuvat. Tämä menetelmä päivittää SQL Serversisäisiä tiedostoviittauksia siirtämättä varsinaisia tiedostoja.
7.1 Milloin polkuongelmia ilmenee
- Palvelimen laitteistomuutokset
- Asemakirjaimen uudelleenmääritykset
- Verkkopolun muutokset
- Tietokannan tiedostojen siirrot
7.2 Tiedostopolkujen korjaaminen
- Tunnista nykyiset tiedostopolut virhelokeista
- Paikanna varsinaiset tietokantatiedostot
- Käytä ALTER DATABASE -toimintoa polkujen päivittämiseen
Päivitä tiedostopolku:
ALTER DATABASE [DatabaseName]
MODIFY FILE (NAME = 'LogicalDataFileName', FILENAME = 'C:\NewPath\DatabaseName.mdf');
Päivityslokitiedoston polku:
ALTER DATABASE [DatabaseName]
MODIFY FILE (NAME = 'LogicalLogFileName', FILENAME = 'C:\NewPath\DatabaseName_Log.ldf');
7.3 Vahvistusvaiheet
- Käynnistä uudelleen SQL Server palvelu
- Tarkista tietokannan tila
- Tarkista polkuun liittyvät viestit virhelokeista
- Testaa tietokannan yhteys
8. Korjaus nro 6: Siirrä tietokanta offline-tilaan ja sitten online-tilaan
Tämä yksinkertainen tilanmuutos voi ratkaista pieniä SQL-tietokannan palautuksen odottavia ongelmia pakottamalla puhtaan tilasiirtymän ja poistamalla väliaikaiset lukitukset.
8.1 Milloin tämä menetelmä toimii
- Pieniä valtion epäjohdonmukaisuuksia
- Väliaikaiset resurssilukot
- Yksinkertainen palautusprosessi nollautuu
- Ei-kriittiset virhetilanteet
8.2 Offline-/online-menettely
- Varmista, ettei tietokantaan ole aktiivisia yhteyksiä
- Suorita offline-komento
- Odota muutama sekunti
- Suorita online-komento
Turvallinen menetelmä (odottaa yhteyksien sulkeutumista):
ALTER DATABASE [DatabaseName] SET OFFLINE;
ALTER DATABASE [DatabaseName] SET ONLINE;
Välitön menetelmä (katkaisee yhteydet):
ALTER DATABASE [DatabaseName] SET OFFLINE WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [DatabaseName] SET ONLINE;
8.3 Riskit ja huomioon otettavat asiat
Varoitus: ROLLBACK IMMEDIATE -toiminnon käyttö voi aiheuttaa tietojen menetystä vahvistamattomista tapahtumista. Käytä sitä vain tarvittaessa ja varmista, että käyttäjät ovat kirjautuneet ulos.
9. Korjaus #7: Poista automaattinen sulkemistoiminto käytöstä
AUTOMAATTINEN SULKEMIS -toiminto voi aiheuttaa SQL-tietokannan palautusongelmia, kun tietokannat avautuvat ja sulkeutuvat usein, mikä aiheuttaa ajoitusristiriitoja palautustoimintojen aikana.
9.1 AUTOMAATTISEN SULKEMISEN vaikutuksen ymmärtäminen
- Tietokanta sulkeutuu viimeisen käyttäjän katkaistua yhteyden
- On palautettava aina, kun tietokanta avataan
- Luo tiheitä palautumisjaksoja
- Voi häiritä muita toimintoja
9.2 AUTOMAATTISEN SULKEMISEN poistaminen käytöstä
T-SQL:n käyttö:
ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;
Käyttäminen SQL Server Management Studio:
- Napsauta tietokantaa hiiren kakkospainikkeella
- valita Kiinteistöt
- Mene Vaihtoehdot sivulla
- Asettaa Automaattinen sulkeminen että Väärä
- Napauta OK
9.3 Liittyvät AUTO-asetukset
Harkitse myös AUTO_SHRINK-toiminnon poistamista käytöstä paremman suorituskyvyn saavuttamiseksi:
ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;
10. Korjaus #8: Poista vioittunut lokitiedosto ja käynnistä uudelleen
Tämä menetelmä toimii, kun tapahtumalokitiedosto on vakavasti vioittunut korjauskelvottomaksi. Sitä tulisi käyttää vain kehitysympäristöissä tai silloin, kun tietojen menetys on hyväksyttävää.
10.1 Milloin lokien poistaminen on tarkoituksenmukaista
⚠️ TÄRKEÄ VAROITUS: Tämä menetelmä aiheuttaa tietojen menetystä!
Käytä vain silloin, kun:
- Kehitys-/testaustietokantojen kanssa työskentely
- Lokitiedosto on täysin vioittunut
- Muita palautusvaihtoehtoja ei ole
- Viimeisimmät varmuuskopiot ovat saatavilla
10.2 Lokitiedoston poistomenettely
- stop SQL Server palvelu täysin
- Siirry tietokannan tiedoston sijaintiin
- Poista .LDF-tiedosto (säilytä .MDF-tiedosto)
- Aloita SQL Server palvelu
- SQL Server luo automaattisesti uuden lokitiedoston
10.3 Tärkeitä varoituksia
Tietojen menetyksen seuraukset:
- Kaikki vahvistamattomat tapahtumat menetetään pysyvästi
- Lokiketju on rikki – differentiaalivarmuuskopiot virheelliset
- Toipuminen tietyllä hetkellä tulee mahdottomaksi
- Käytä vain ei-tuotantoympäristöissä
11. Korjaus #9: Irrota ja liitä tietokanta uudelleen
Voimien irrottaminen ja uudelleen kiinnittäminen SQL Server korjata puuttuvia tai vioittuneita lokitiedostoja. Tämä menetelmä voi ratkaista SQL-tietokannan palautusongelmia, kun lokitiedostoissa on ongelmia.
11.1 Milloin irrottaminen/uudelleenkiinnittäminen toimii
- Puuttuvat lokitiedostot
- Vioittuneet lokitiedostojen otsikot
- Lokitiedoston polun muutokset
- Yksinkertaiset korruptioskenaariot
11.2 Vakiomuotoinen irrotus-/uudelleenkiinnitysmenettely
- Aseta tietokanta ensin hätätilaan
- Vaihda usean käyttäjän tilaan
- Irrota tietokanta
- Kiinnitä uudelleen käyttämällä vain MDF-tiedostoa
-- 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 Vaihtoehtoiset kiinnitysmenetelmät
Usean tiedoston skenaarioissa:
CREATE DATABASE [DatabaseName]
ON (FILENAME = 'C:\Data\DatabaseName.mdf'),
(FILENAME = 'C:\Data\DatabaseName_2.ndf')
FOR ATTACH;
12. Korjaus #10: Rakenna tapahtumalokitiedostot uudelleen
Lokin uudelleenrakentaminen luo uuden tapahtumalokitiedoston, kun alkuperäinen puuttuu tai on korjauskelvottomasti vaurioitunut. Tämä menetelmä ratkaisee SQL-tietokannan palautukseen liittyvät odottavat ongelmat, mutta johtaa tietojen menetykseen.
12.1 Milloin lokin uudelleenrakentaminen on tarpeen
- Puuttuvat LDF-tiedostot laitteistovian jälkeen
- Vakavasti vioittuneet tapahtumalokit
- Lokitiedoston polun muutokset, joita ei voida korjata
- Hätätilanteiden toipuminen
12.2 Lokin uudelleenrakennusprosessi
⚠️ VAROITUS: Tämä aiheuttaa tietojen menetystä!
- Aseta tietokanta hätätilaan
- Käytä REBUILD LOG -komentoa
- Määritä lokitiedoston uusi sijainti
- Tuo tietokanta verkkoon
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 Tietojen menetyksen seurausten ymmärtäminen
Lokin uudelleenrakennuksen syyt:
- Kaikkien sitomattomien tapahtumien menetys
- Rikkoutuneiden lokien järjestysnumerot
- Myöhempien lokivarmuuskopioiden käyttöönotto ei onnistu
- Toipuminen tietyllä hetkellä tulee mahdottomaksi
13. Korjaus nro 11: Hätätilan korjaus DBCC TARKISTUSB
Hätätilan korjaus on viimeinen keino SQL-tietokannan palauttamiseen, jos vioittumisen aiheuttamia ongelmia ilmenee. Tämä menetelmä voi korjata tietokantoja, mutta se voi johtaa merkittävään tietojen menetykseen.
13.1 Hätätilan ymmärtäminen
⚠️ ÄÄRIMMÄINEN VAROITUS: Suuri tietojen menetyksen riski!
Käytä hätätilaa vain, kun:
- Kaikki muut menetelmät ovat epäonnistuneet
- Ei viimeaikaisia varmuuskopioita saatavilla
- Jonkin verran tietojen palautusta on parempi kuin täydellinen menetys
- Tietokanta on kriittisesti vioittunut
13.2 Hätäkorjausmenettely
- Ota ensin varmuuskopio vioittuneista tietokantatiedostoista
- Aseta tietokanta hätätilaan
- Vaihda yhden käyttäjän tilaan
- Suorita CHECKDB korjausasetuksilla
- Palaa usean käyttäjän tilaan
-- 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 Korjauksen jälkeinen arviointi
- Tarkista CHECKDB-tuloste korjaustoimenpiteitä varten
- Tarkista puuttuvat taulukot tai tiedot
- Tarkista kriittisten sovellusten toiminnallisuus
- Harkitse palauttamista varmuuskopiosta, jos liikaa tietoja on menetetty
14. Korjaus nro 12: Tarkista ja korjaa FILESTREAM-kokoonpano
FILESTREAM-määritysongelmat voivat aiheuttaa SQL-tietokannan palautusongelmia. Tämä menetelmä korjaa FILESTREAM-kohtaisia palautusongelmia.
14.1 FILESTREAM-tiedostojärjestelmään liittyvät palautusongelmat
- FILESTREAM-ajurin yhteysongelmat
- Konfiguraatioiden väliset ristiriidat SQL Server ja käyttöjärjestelmä
- Ajoitusongelmat palvelun käynnistyksen aikana
- FILESTREAM-säiliöiden käyttöoikeusongelmia
14.2 FILESTREAM-vianmääritys
- Tarkista FILESTREAM-kokoonpanotaso
- Varmista, että Windows-ominaisuus on käytössä
- Käynnistä tarvittavat palvelut uudelleen
- Tarkista FILESTREAM-säilön käyttöoikeudet
Tarkista FILESTREAM-kokoonpano:
SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;
Ota FILESTREAM käyttöön instanssitasolla:
EXEC sp_configure 'filestream access level', 2;
RECONFIGURE;
14.3 FILESTREAM-suositellut käytännöt
- Varmista yhdenmukainen konfigurointi uudelleenkäynnistysten välillä
- Varmista, että FILESTREAM-säilöpolut ovat käytettävissä
- Tarkista, että Windowsin FILESTREAM-ominaisuus on käytössä oikein
- FILESTREAM-tiedostoihin liittyvien virheilmoitusten valvonta
15. Korjaus nro 13: Päivitys SQL Server Versio/Service Packit
Vanhemmat SQL Server versiot, erityisesti RTM-julkaisut, sisältävät tunnettuja virheitä, jotka aiheuttavat SQL-tietokannan palautusongelmia. Päivittäminen uusimpiin palvelupaketteihin ratkaisee nämä ongelmat.
15.1 Tunnetut ongelmat vanhemmissa versioissa
- SQL Server Vuoden 2005 RTM-palautusvirheet
- Service Pack -kohtaiset korjaukset palautusprosesseille
- Kumulatiiviset päivitykset, jotka käsittelevät reunatapauksia
- Yhteensopivuusongelmia uudempien Windows-versioiden kanssa
15.2 Päivitysprosessi
- Tarkista virta SQL Server versio
- Tunnista uusin saatavilla oleva palvelupaketti
- Lataa Microsoft Download Center
- Aikatauluta huoltoikkuna
- Asenna huoltopaketti
- Käynnistä palvelut uudelleen
- Tarkista tietokannan toiminnallisuus
Tarkista nykyinen versio:
SELECT @@VERSION;
15.3 Päivityksen jälkeinen tarkistus
- Vahvista versionumeron muuttuminen
- Tarkista, että kaikki tietokannat ovat oikein verkossa
- Suorita perustoimintotestit
- Seuraa virhelokia uusien ongelmien varalta
16. Korjaus #14: Palauta tietokanta varmuuskopiosta
Kun SQL-tietokannan palautuksen keskeneräisiä ongelmia ei voida ratkaista korjausmenetelmillä, palauttaminen tunnetusta toimivasta varmuuskopiosta tarjoaa luotettavimman ratkaisun ennustettavilla tietojen menetysrajoilla.
16.1 Kun varmuuskopioiden palauttaminen on ratkaisu
- Useat korjausyritykset ovat epäonnistuneet
- Kriittiset tuotantotiedot vaativat varmuutta
- Hyväksyttävä tietojen menetysikkuna on olemassa
- Korruptio on liian laajaa korjattavaksi
16.2 Täydellinen tietokannan palautusprosessi
- Tunnista viimeisin käyttökelpoinen varmuuskopio
- Varmista, että levytilaa on riittävästi palautusta varten
- Ota tietokanta offline-tilaan tai poista se tarvittaessa
- Palauta varmuuskopiotiedostosta
- Ota lokitiedostojen varmuuskopiot käyttöön, jos niitä on saatavilla
Peruspalautus täydestä varmuuskopiosta:
RESTORE DATABASE [DatabaseName]
FROM DISK = 'C:\Backups\DatabaseName.bak'
WITH REPLACE;
Palautus lokitietojen varmuuskopioilla tiettynä ajankohtana tapahtuvaa palautusta varten:
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 Varmentaminen ja testaus
- Varmista, että tietokanta on tullut verkkoon onnistuneesti
- Tarkista tietojen eheys CHECKDB:llä
- Testaa kriittisiä sovellustoimintoja
- Varmista, että varmuuskopiointi/palautus on suoritettu ilman virheitä
16.4 Viite
Voit saada lisätietoja verkkosivuiltamme kattava opas varmuuskopiointiin ja palautukseen SQL Server tietokannat.
17. Korjaus nro 15: Ammattimaiset SQL-palautustyökalut
Kun manuaaliset menetelmät eivät ratkaise SQL-tietokannan palautuksen keskeneräisiä ongelmia, erikoistunut palautusohjelmisto voi poimia tietoja vakavasti vioittuneista tietokannoista, joita ei voida korjata standardimenetelmillä.
17.1 Milloin kannattaa harkita kolmannen osapuolen työkaluja
- Vakavaa vioittumista, joka ylittää manuaalisen korjaamisen mahdollisuudet
- Kriittiset tiedot, joista ei ole saatavilla varmuuskopioita
- Useita epäonnistuneita manuaalisia korjausyrityksiä
- Aikakriittiset palautumisvaatimukset
17.2 DataNumen SQL Recovery
DataNumen SQL Recovery on tehokas SQL Server tietokannan palautustyökalu.
Alla on vaiheet sen käyttämiseksi:
- Pysäytä SQL Server Palvelun.
- Tee kopiot palautus odottaa -tilassa olevan tietokannan tiedostoista, mukaan lukien sekä ensisijainen MDF-tiedosto että toissijaiset NDF-tiedostot.
- Aloita SQL Server Palvelun.
- Aloita DataNumen SQL Recovery.
- Valitse palautettavan tietokannan lähteeksi kopio alkuperäisen tiedoston sijaan.
- Napsauta ”Aloita palautus” ja palauta tietokanta noudattamalla ohjeita.
- Palautusprosessin jälkeen uusi palautustietokanta ilmestyy SQL Server joka sisältää kaikki palautetut tiedot.

18. Edistyneet vianmääritysskenaariot
Monimutkaiset ympäristöt vaativat erikoistuneita lähestymistapoja SQL-tietokannan palautuksen keskeytyneiden ongelmien ratkaisemiseksi.
18.1 Useiden tietokantatiedostojen ongelmat
Useita datatiedostoja (NDF) sisältävät tietokannat vaativat huolellista käsittelyä:
- Tunnista tiedostoryhmät, joihin tämä vaikuttaa
- Tarkista kaikkien NDF-tiedostojen esteettömyys
- Harkitse tiedostoryhmäkohtaisia palautusvaihtoehtoja
- Käsittele vain luku -tiedostoryhmiä asianmukaisesti
18.2 Always On -saavutettavuusryhmät
SQL-tietokannan palautus odottaa aina päällä ympäristöissä:
- Tarkista ensin ensisijaisen replikan tila
- Vahvista synkronoinnin tila
- Harkitse ongelmallisen replikan poistamista ja lisäämistä uudelleen
- Tarkista saatavuusryhmän määritys
18.3 Klusteri- ja korkean käytettävyyden skenaariot
SQL-tietokannan palautus vireillä vikasietoklusteri ja korkean käytettävyyden skenaariot:
- Tarkista jaetun tallennustilan saatavuus
- Tarkista klusterisolmun tietoliikenne
- Tarkista vikasietoklusterin lokit
- Varmista asianmukainen DNS-selvitys
18.4 WMI- ja järjestelmätason ongelmat
Järjestelmätason ongelmat voivat aiheuttaa tietokantaongelmia:
- WMI-arkiston vioittuminen
- Epäonnistuneet Windows-päivitykset
- Rekisterin korruptio
- Palveluriippuvuusongelmat
19. Ennaltaehkäisystrategiat
SQL-tietokannan palautusongelmien odottavien estäminen on tehokkaampaa kuin niiden korjaaminen jälkikäteen.
19.1 Varmuuskopioinnin parhaat käytännöt
- Ota käyttöön automatisoidut täydelliset varmuuskopiointiaikataulut
- Säännöllisten differentiaalivarmuuskopioiden määrittäminen
- Ota käyttöön säännölliset tapahtumalokin varmuuskopiot
- Testaa varmuuskopioiden palautusmenettelyjä säännöllisesti
- Säilytä varmuuskopiot erillisissä tallennusjärjestelmissä
- Varmista varmuuskopion eheys käyttämällä RESTORE VERIFYONLY -toimintoa
19.2 Valvonta ja ylläpito
- Levytilan valvontahälytysten määrittäminen
- Aikatauluta säännölliset DBCC CHECKDB -toiminnot
- monitori SQL Server virhelokit päivittäin
- Toteuttaa suorituskyvyn lähtötason seuranta
- Configure SQL Server Agentin hälytykset kriittisistä virheistä
19.3 Infrastruktuuriin liittyvät näkökohdat
- Asenna UPS-järjestelmät virransyötön suojaamiseksi
- Käytä redundanssilla varustettua yritystason tallennustilaa
- Toteuta asianmukaiset sammutusmenettelyt
- Varmista verkon vakaus jaetulle tallennustilalle
- Säännöllinen laitteiston kunnon seuranta
19.4 SQL Server Konfiguraation parhaat käytännöt
- Valitse sopivat toipumismallit
- Määritä järkevät automaattisen kasvun asetukset
- Erota data- ja lokitiedostot eri asemille
- Käytä erillisiä palvelutilejä, joilla on minimaaliset käyttöoikeudet
- Pitää SQL Server päivitetty uusimmilla palvelupaketeilla
20. Vianmäärityspäätöspuu ja -menetelmä
Noudata tätä systemaattista lähestymistapaa, kun kohtaat SQL-tietokannan palautuksen odottavia ongelmia.
20.1 Systemaattinen diagnoosimenetelmä
- Tarkista ensin virhelokit – Aloita aina siitä SQL Server ja Windows-lokit
- Tarkista tiedoston saatavuus – Varmista, että kaikki tietokantatiedostot ovat olemassa ja luettavissa
- Tarkista levytila – Varmista, että pelastustoimille on riittävästi tilaa
- Kokeile ensin yksinkertaisia ratkaisuja – Palvelun uudelleenkäynnistys, offline/online
- Edistyminen monimutkaisiin korjauksiin – Vasta yksinkertaisten menetelmien epäonnistuttua
- Harkitse palauttamista varmuuskopiosta – Kun korjausriskit ovat liian suuret
20.2 Oikean korjausmenetelmän valinta
Vähäriskinen (kokeile ensin):
- Käynnistä uudelleen SQL Server palvelut
- Tarkista ja ratkaise levytila
- Korjaa tiedostojen käyttöoikeudet
- Offline/Online-tietokanta
Keskiriski:
- Tiedostopolun korjaukset
- Poista AUTOMAATTINEN SULKEUTUMINEN käytöstä
- FILESTREAM-määritysten korjaukset
- Palvelun viivästynyt aloitus
Korkea riski (tietojen menetys mahdollinen):
- Poista lokitiedosto ja käynnistä uudelleen
- Irrota/liitä tietokanta uudelleen
- Rakenna tapahtumalokit uudelleen
- Hätätilan korjaus DBCC TARKISTUSB
20.3 Milloin eskaloida asia
Hakeudu ammattiapuun, kun:
- Useat korkean riskin menetelmät ovat epäonnistuneet
- Tietokanta sisältää korvaamatonta kriittistä dataa
- Korruptio vaikuttaa useisiin tietokantoihin
- Järjestelmätason ongelmia epäillään
- Aikarajoitteet vaativat taattuja tuloksia
21. UKK
K: Mitä eroa on tietokantatilojen ”PALAUTETAAN” ja ”PALAUTUSTA ODOTTAA” välillä?
A: ”PALAUTETAAN” tarkoittaa, että tietokanta suorittaa aktiivisesti palautustoimintoja ja tulee automaattisesti verkkoon, kun ne ovat valmiita. ”PALAUTUS ODOTTAA” tarkoittaa SQL Server Palautusprosessia ei voida aloittaa esimerkiksi puuttuvien tiedostojen, riittämättömän tilan tai vioittumisen vuoksi. Palautus odottaa -tilan ratkaiseminen vaatii manuaalisia toimia.
K: Mitä korjausta minun pitäisi kokeilla ensin, jos SQL-tietokannan palautus on kesken?
A: Aloita aina ensin turvallisimmilla menetelmillä. Tarkista SQL Server virhelokit, tarkista levytilan saatavuus ja yritä sitten uudelleenkäynnistystä SQL Server palvelut. Nämä vähäriskiset lähestymistavat ratkaisevat yleisimmät palautusvaiheessa olevat ongelmat ilman tietojen menetyksen riskiä.
K: Kuinka kauan minun pitäisi odottaa ennen kuin kokeilen toista korjausmenetelmää?
A: Palvelun uudelleenkäynnistysten osalta odota 2–3 minuuttia, jotta se käynnistyy kokonaan. Yksinkertaisten tilanmuutosten, kuten offline/online, kohdalla odota 30–60 sekuntia. Monimutkaisten korjausten, kuten DBCC CHECKDB:n, kohdalla odota useita tunteja tietokannan koosta riippuen. Älä keskeytä palautusprosesseja niiden alkamisen jälkeen.
K: Menetänkö tietoja, kun korjaan SQL-tietokannan palautuksen odottavia ongelmia?
A: Tietojen menetys riippuu käytetystä menetelmästä. Turvalliset menetelmät, kuten palvelun uudelleenkäynnistys, levytilan korjaus ja käyttöoikeuksien korjaus, eivät aiheuta tietojen menetystä. Korkean riskin menetelmät, kuten hätätilan korjaus, lokien uudelleenrakentaminen tai lokitiedostojen poistaminen, voivat johtaa merkittävään tietojen menetykseen. Kokeile aina ensin turvallisia menetelmiä.
K: Voinko estää SQL-tietokannan palautusongelmien ilmenemisen?
V: Kyllä, useimmat ongelmat ovat ehkäistävissä asianmukaisella huollolla. Ota käyttöön säännölliset varmuuskopiot, valvo levytilaa, ylläpidä riittävää tallennuskapasiteettia, käytä UPS-suojausta, suorita rutiininomaisia DBCC CHECKDB -toimintoja ja pidä SQL Server päivitetty uusimmilla palvelupaketeilla.
K: Pitäisikö minun yrittää korjata tuotantotietokantoja toimistoaikoina?
A: Älä koskaan yritä käyttää riskialttiita korjausmenetelmiä tuotantotietokannoissa toimistoaikoina. Aikatauluta huoltoikkunat monimutkaisille korjauksille. Turvallisia menetelmiä, kuten palveluiden uudelleenkäynnistyksiä tai levytilan korjauksia, voidaan kuitenkin yrittää välittömästi, jos ne estävät kriittisiä toimintoja.
K: Milloin minun pitäisi palauttaa varmuuskopiosta korjausten yrittämisen sijaan?
A: Palauta varmuuskopiosta, kun useat korjausyritykset epäonnistuvat, kun käsitellään kriittisiä tuotantotietoja, jotka eivät voi enää vioittua, kun sinulla on äskettäisiä varmuuskopioita, joilla on hyväksyttävä tietojen menetysikkuna, tai kun korjausmenetelmät veisivät kauemmin kuin palautustoiminnot.
K: Mistä tiedän, ovatko tietokantatiedostoni vioittuneet tai niihin ei pääse käsiksi?
V: Tarkista SQL Server Tiedoston saavutettavuusongelmat näyttävät virhelokeja tietyille virheilmoituksille. Tiedoston saavutettavuusongelmat näyttävät virheitä, kuten "tiedostoa ei löydy" tai käyttöoikeusvirheitä. Vioittuminen näyttää tyypillisesti tarkistussummavirheitä, sivutason virheitä tai yhtenäisyysrikkomuksia. Käytä DBCC CHECKDB:tä testataksesi lopullisesti vioittumisen, kun tietokanta on käytettävissä.
K: Mikä on turvallisin tapa kopioida tietokantatiedostot ennen korjausten yrittämistä?
A: Pysähdy SQL Server palvelu kokonaan ja kopioi sitten sekä MDF- että LDF-tiedostot varmuuskopiointipaikkaan. Vaihtoehtoisesti voit käyttää tietokannan varmuuskopiointikomentoja, jos tietokantaan on vielä pääsy. Älä koskaan kopioi tiedostoja, kun SQL Server on käynnissä, koska se voi luoda epäjohdonmukaisia kopioita.
K: Voivatko SQL-tietokannan palautuksen keskeneräiset ongelmat vaikuttaa useisiin tietokantoihin samanaikaisesti?
V: Kyllä, järjestelmätason ongelmat, kuten riittämätön levytila, palvelutilin ongelmat, tallennustilan viat tai SQL Server Määritysvirheet voivat vaikuttaa useisiin tietokantoihin. Tarkista aina, onko muissa tietokannoissa samanlaisia ongelmia, jotta voit tunnistaa laajempia järjestelmäongelmia.
K: Kuinka usein minun pitäisi testata tietokannan palautusmenettelyjäni?
A: Testaa palautusmenettelyt kuukausittain kriittisille tietokannoille ja neljännesvuosittain tärkeille tietokannoille. Testaa erilaisia palautusskenaarioita, kuten tiettynä ajankohtana tapahtuva palautus, lokisekvenssin palautus ja hätätilanteiden palautusmenettelyt. Dokumentoi ja ajoita jokainen testi hätäsuunnittelua varten.
K: Milloin minun pitäisi ottaa yhteyttä Microsoftin tukeen tai palkata ammattiapua?
A: Hakeudu ammattilaisen apuun, kun useat korjausyritykset epäonnistuvat, kriittisiä tietoja käsitellään ilman varmuuskopioita, useissa tietokannoissa on monimutkaisia vioittumisia, kohtaat dokumentoimattomia virheilmoituksia tai kun aikarajoitteet edellyttävät taattuja palautumistuloksia.
K: Ovatko kolmannen osapuolen SQL-palautustyökalut investoinnin arvoisia?
A: Palautustyökalut ovat arvokkaita, kun manuaaliset menetelmät epäonnistuvat eikä varmuuskopioita ole. Useimmat työkalut tarjoavat ilmaisia kokeiluversioita palautettavuuden testaamiseksi ennen ostamista. Ota huomioon kustannukset verrattuna ammattilaispalveluihin, tietojen arvo ja onnistumistodennäköisyys. Työkalut toimivat parhaiten rakenteellisten vioittumisten korjaamisessa, mutta eivät välttämättä palauta kaikkia tietotyyppejä.
K: Mitä minun pitäisi tehdä, jos SQL-tietokannan palautus odottaa toistuvasti?
A: Toistuvat ongelmat viittaavat taustalla oleviin järjestelmäongelmiin. Tarkista laitteistovikojen, riittämättömien resurssien, tallennusjärjestelmäongelmien tai määritysongelmien varalta. Seuraa Windowsin tapahtumalokeja, ota käyttöön kattava valvonta ja harkitse laitteiston päivittämistä tai siirtymistä luotettavampiin tallennusjärjestelmiin.
22. Yhteenveto ja pikaviite
SQL-tietokannan palautuksen keskeneräiset ongelmat voidaan ratkaista näillä 15 toimivaksi todistetulla menetelmällä, aina yksinkertaisista palvelun uudelleenkäynnistyksistä monimutkaisiin hätäkorjauksiin.
22.1 Pikakorjausten yhteenvetotaulukko
| Korjaa menetelmä | Riskitaso | Tietojen menetyksen riski | Paras käytetty |
|---|---|---|---|
| Käynnistä uudelleen SQL Server | Matala | Ei eristetty | Ajoitusongelmat, väliaikaiset lukot |
| Tarkista levytila | Matala | Ei eristetty | Avaruuteen liittyvät viat |
| Myöhästynyt lähtö | Matala | Ei eristetty | Tallennusajan ongelmat |
| Korjaa käyttöoikeudet | Matala | Ei eristetty | Pääsy estetty -virheet |
| Oikeat tiedostopolut | Matala | Ei eristetty | Polun muutokset, muuttoliikkeet |
| Offline / Online | Keskikova | Vähimmäismäärä | Valtion epäjohdonmukaisuudet |
| Poista AUTOMAATTINEN SULKEUTUMINEN käytöstä | Matala | Ei eristetty | Usein avaus-/sulkemisjaksot |
| Poista lokitiedosto | Korkea | Kyllä | Vioittuneet lokit, kehitysympäristöt |
| Irrota/kiinnitä uudelleen | Korkea | Kyllä | Puuttuvat tai vioittuneet lokit |
| Lokien uudelleenrakentaminen | Korkea | Kyllä | Puuttuvat LDF-tiedostot |
| Hätäkorjaus DBCC CHECKDB:n avulla | Erittäin korkea | Kyllä | Vakava korruptio, viimeinen keino |
| Korjaa FILESTREAM | Keskikova | Ei eristetty | FILESTREAM-määritysongelmat |
| Päivitykset SQL Server | Keskikova | Ei eristetty | Tunnetut versiovirheet |
| Palauta varmuuskopiosta | Matala | Valvottu | Kun korjausmenetelmät epäonnistuvat |
| Palautustyökalut | Keskikova | Vaihtelee | Vakava korruptio, ei varmuuskopioita |
22.2 Hätätilanteiden tarkistuslista
Ensimmäiset 5 minuuttia:
- Tarkistaa SQL Server virhelokit
- Tarkista tietokannan tiedostojen saatavuus
- Tarkista käytettävissä oleva levytila
- Yritä palvelun uudelleenkäynnistystä
- Asiakirjan virheilmoitukset
Seuraavat 15 minuuttia:
- Kokeile offline-/online-tilassa, jos palvelun uudelleenkäynnistys epäonnistui
- Tarkista ja korjaa ilmeiset käyttöoikeusongelmat
- Varmista, että tiedostopolut ovat oikein
- Tarkista Windowsin tapahtumalokit
- Arvioi varmuuskopioiden saatavuus
22.3 Lisäresurssit
Muista: Ennaltaehkäisy asianmukaisten varmuuskopioiden, valvonnan ja ylläpidon avulla on aina parempi kuin palautus. Näiden menettelyjen säännöllinen testaus muissa kuin tuotantoympäristöissä varmistaa, että olet varautunut SQL-tietokannan palautusongelmien ilmetessä.
kirjailijasta
Yuan Sheng on kokenut tietokannan ylläpitäjä (DBA), jolla on yli 10 vuoden kokemus alalta SQL Server ympäristöissä ja yritystietokantojen hallinnassa. Hän on onnistuneesti ratkaissut satoja tietokantojen palautustilanteita rahoituspalveluissa, terveydenhuollossa ja valmistusorganisaatioissa.
Yuan on erikoistunut SQL Server tietokannan palautus, korkean käytettävyyden ratkaisut ja suorituskyvyn optimointi. Hänen laajaan käytännön kokemukseensa kuuluu usean teratavun tietokantojen hallinta, Always On Availability Groupsin käyttöönotto sekä automatisoitujen varmuuskopiointi- ja palautusstrategioiden kehittäminen kriittisille liiketoimintajärjestelmille.
Teknisen asiantuntemuksensa ja käytännönläheisen lähestymistapansa avulla Yuan keskittyy luomaan kattavia oppaita, jotka auttavat tietokannan ylläpitäjiä ja IT-ammattilaisia ratkaisemaan monimutkaisia ongelmia. SQL Server haastaa tehokkaasti. Hän pysyy ajan tasalla uusimmista SQL Server julkaisuja ja Microsoftin kehittyviä tietokantateknologioita, testaten säännöllisesti palautusskenaarioita varmistaakseen, että hänen suosituksensa vastaavat todellisia parhaita käytäntöjä.
Onko sinulla kysyttävää SQL Server palautus tai tarvitsetko lisäohjeita tietokannan vianmääritykseen? Yuan toivottaa sinut tervetulleeksi palautetta ja ehdotuksia näiden teknisten resurssien parantamiseksi.














