Sisällysluettelo piiloutua

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.

SQL Server tietokanta palautumista odottavassa tilassa.

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:

  1. Yhdistä SQL Server esimerkki
  2. Laajentaa Tietokannat kansio
  3. Etsi tietokantoja, joiden tila on ”(Palautus odottaa)”.

SQL Server tietokanta palautumista odottavassa tilassa.

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.

  1. avoin SQL Server Hallintostudio
  2. Navigoida johonkin videonhallinta -> SQL Server Lokit
  3. Kaksoisnapsauta nykyistä lokia nähdäksesi viimeisimmät virheet
  4. Etsi tietokantaasi liittyviä virheilmoituksia

Tarkistaminen SQL Server virhelokit tietokantaasi liittyvistä viimeaikaisista virheistä.

Vaihtoehtoisesti voit käyttää T-SQL:ää:

EXEC sp_readerrorlog;

2.2 Tarkista Windowsin tapahtumalokit

  1. lehdistö Windows-näppäin + R
  2. Tyyppi eventvwr.msc ja paina Enter
    Avaa Windowsin tapahtumienvalvonta.
  3. Navigoida johonkin Windows-lokit -> järjestelmä ja Hakemus
  4. Etsiä SQL Server ongelman ilmenemisaikaan liittyvät virheet

Etsi tapahtumienvalvonnasta SQL Server liittyvät virheet, jotka voivat aiheuttaa SQL-tietokannan palautusvaiheen ongelman.

2.3 Tiedoston saavutettavuuden tarkistaminen

  1. Siirry tietokantatiedostojesi sijainteihin
  2. Varmista, että sekä MDF- että LDF-tiedostot ovat olemassa
  3. Tarkista, ovatko asemat verkossa ja käytettävissä
  4. 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

  1. avoin SQL Server Configuration Manager
  2. Napauta SQL Server Palvelut
  3. Napsauta hiiren oikealla painikkeella SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
  4. valita Käynnistä uudelleen
  5. Odota, että palvelu käynnistyy kokonaan uudelleen

Käynnistä SQL Server palvelu SQL Server Configuration Manager.

Menetelmä 2: Palvelukonsoli

  1. lehdistö Windows-näppäin + R
  2. Tyyppi services.msc ja paina Enter
    Avaa Windowsin palvelukonsoli.
  3. Etsi SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
  4. Napsauta hiiren kakkospainikkeella ja valitse Käynnistä uudelleen

Käynnistä SQL Server palvelua palvelukonsolissa ratkaistaksesi SQL-tietokannan palautuksen odottavan ongelman.

Tapa 3: PowerShell

Restart-Service -Name "MSSQLSERVER" -Force

3.3 Uudelleenkäynnistyksen jälkeinen tarkistus

  1. Odota 2–3 minuuttia, kunnes käynnistys on valmis
  2. Tarkista tietokannan tila SSMS:ssä
  3. Tarkista uusien viestien virhelokit
  4. 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

  1. avoin File Explorer
  2. Siirry tietokantatiedostoja sisältäviin asemiin
  3. Tarkista käytettävissä oleva vapaa tila
  4. Varmista vähintään 10–20 % vapaata tilaa kierrätystoimia varten

4.2 Levytilan vapauttaminen

  1. Poista tarpeettomat väliaikaistiedostot
  2. Poista valinta SQL Server varmuuskopiotiedostot, jos tilaa on kriittinen
  3. Siirrä ei-välttämättömät tiedostot muille asemille
  4. 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

  1. lehdistö Windows-näppäin + R
  2. Tyyppi services.msc ja paina Enter
    Avaa Windowsin palvelukonsoli.
  3. Etsi SQL Server esimerkiksi, kuten SQL Server (MSSQL-palvelin)
  4. Napsauta hiiren kakkospainikkeella ja valitse Kiinteistöt
  5. Muutos Startup type että Automaattinen (ajastus)
    Muutos SQL Server käynnistystyypiksi Automaattinen (Viivästetty käynnistys) ratkaistaksesi SQL-tietokannan palautuksen odottamisongelman.
  6. Napauta OK
  7. Käynnistä järjestelmä uudelleen testataksesi

5.3 Vaihtoehtoisia ratkaisuja ajoitukselle

Saat enemmän hallintaa luomalla ajoitetun tehtävän:

  1. avoin Tehtävien ajoitus
  2. Napauta Toiminto -> Luo perustehtävä
  3. Syötä sisään Nimi ja Tuotetiedot tehtävästä, kuten ”Viive aloitus” SQL Server palvelu "
  4. Asettaa Laukaista että Kun tietokone käynnistyy
  5. Asettaa Toiminta että Käynnistä ohjelma
  6. 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.
  7. Valitse lopetussivulla Avaa tämän tehtävän Ominaisuudet-valintaikkuna, kun napsautan Valmis.
    Luo tehtävä, jonka aloitus on viivästetty SQL Server Windowsin tehtävien ajoituksessa.
  8. Napauta Suorittaa loppuun.
  9. Napsauta tehtävän ominaisuusvalintaikkunassa laukaisee kieleke
  10. Valitse liipaisin ja napsauta muokata
    Muokkaa tehtävän käynnistintä tehtävän ominaisuusvalintaikkunassa.
  11. Tarkista Lisäasetuksissa Viivästytä tehtävää: ja aseta ajaksi 3 minuuttia.
    Aseta tehtävän käynnistys viivästetyksi 3 minuutin kuluttua ratkaistaksesi SQL-tietokannan palautusta odottavan virheen.
  12. 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

  1. Siirry tietokannan tiedostokansioon
  2. Napsauta kansiota hiiren kakkospainikkeella ja valitse Kiinteistöt
  3. Valitse Turvallisuus kieleke
  4. Napauta muokata
  5. Lisää SQL Server palvelutili, jos puuttuu
  6. Grant Täydet Oikeudet
  7. Napauta OK ottaa muutokset käyttöön

Tarkista ja korjaa käyttäjän käyttöoikeudet SQL Server palvelutili SQL Server datakansio.

Komentorivin (icacls) käyttö:

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

6.3 Palvelutilin huomioitavaa

Varmista SQL Server palvelutili:

  1. avoin SQL Server Configuration Manager
  2. Napauta SQL Server Palvelut
  3. Huomaa Kirjaudu sisään nimellä huomioon SQL Server
  4. Varmista, että tällä tilillä on asianmukaiset käyttöoikeudet

Tarkista SQL Server palvelutili SQL-tietokannan palautuksen odottavan ongelman ratkaisemiseksi.

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

  1. Tunnista nykyiset tiedostopolut virhelokeista
  2. Paikanna varsinaiset tietokantatiedostot
  3. 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

  1. Käynnistä uudelleen SQL Server palvelu
  2. Tarkista tietokannan tila
  3. Tarkista polkuun liittyvät viestit virhelokeista
  4. 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

  1. Varmista, ettei tietokantaan ole aktiivisia yhteyksiä
  2. Suorita offline-komento
  3. Odota muutama sekunti
  4. 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:

  1. Napsauta tietokantaa hiiren kakkospainikkeella
  2. valita Kiinteistöt
  3. Mene Vaihtoehdot sivulla
  4. Asettaa Automaattinen sulkeminen että Väärä
  5. Napauta OK

Poista automaattinen sulkeminen käytöstä kohteelle SQL Server tietokannassa SQL Server Management Studio ratkaisee SQL-tietokannan palautusta odottavan ongelman.

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

  1. stop SQL Server palvelu täysin
  2. Siirry tietokannan tiedoston sijaintiin
  3. Poista .LDF-tiedosto (säilytä .MDF-tiedosto)
  4. Aloita SQL Server palvelu
  5. 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

  1. Aseta tietokanta ensin hätätilaan
  2. Vaihda usean käyttäjän tilaan
  3. Irrota tietokanta
  4. 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ä!

  1. Aseta tietokanta hätätilaan
  2. Käytä REBUILD LOG -komentoa
  3. Määritä lokitiedoston uusi sijainti
  4. 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

  1. Ota ensin varmuuskopio vioittuneista tietokantatiedostoista
  2. Aseta tietokanta hätätilaan
  3. Vaihda yhden käyttäjän tilaan
  4. Suorita CHECKDB korjausasetuksilla
  5. 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

  1. Tarkista CHECKDB-tuloste korjaustoimenpiteitä varten
  2. Tarkista puuttuvat taulukot tai tiedot
  3. Tarkista kriittisten sovellusten toiminnallisuus
  4. 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

  1. Tarkista FILESTREAM-kokoonpanotaso
  2. Varmista, että Windows-ominaisuus on käytössä
  3. Käynnistä tarvittavat palvelut uudelleen
  4. 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

  1. Tarkista virta SQL Server versio
  2. Tunnista uusin saatavilla oleva palvelupaketti
  3. Lataa Microsoft Download Center External Link
  4. Aikatauluta huoltoikkuna
  5. Asenna huoltopaketti
  6. Käynnistä palvelut uudelleen
  7. Tarkista tietokannan toiminnallisuus

Tarkista nykyinen versio:

SELECT @@VERSION;

15.3 Päivityksen jälkeinen tarkistus

  1. Vahvista versionumeron muuttuminen
  2. Tarkista, että kaikki tietokannat ovat oikein verkossa
  3. Suorita perustoimintotestit
  4. 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

  1. Tunnista viimeisin käyttökelpoinen varmuuskopio
  2. Varmista, että levytilaa on riittävästi palautusta varten
  3. Ota tietokanta offline-tilaan tai poista se tarvittaessa
  4. Palauta varmuuskopiotiedostosta
  5. 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

  1. Varmista, että tietokanta on tullut verkkoon onnistuneesti
  2. Tarkista tietojen eheys CHECKDB:llä
  3. Testaa kriittisiä sovellustoimintoja
  4. 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:

  1. Pysäytä SQL Server Palvelun.
    Pysäytä SQL Server palvelu palvelukonsolissa.
  2. Tee kopiot palautus odottaa -tilassa olevan tietokannan tiedostoista, mukaan lukien sekä ensisijainen MDF-tiedosto että toissijaiset NDF-tiedostot.
  3. Aloita SQL Server Palvelun.
  4. Aloita DataNumen SQL Recovery.
  5. Valitse palautettavan tietokannan lähteeksi kopio alkuperäisen tiedoston sijaan.
  6. Napsauta ”Aloita palautus” ja palauta tietokanta noudattamalla ohjeita.
  7. Palautusprosessin jälkeen uusi palautustietokanta ilmestyy SQL Server joka sisältää kaikki palautetut tiedot.

Käyttää DataNumen SQL Recovery korjata yksi vioittunut SQL Server MDF-tiedosto ja ratkaise SQL-tietokannan palautusta odottava virhe.

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

  1. Ota käyttöön automatisoidut täydelliset varmuuskopiointiaikataulut
  2. Säännöllisten differentiaalivarmuuskopioiden määrittäminen
  3. Ota käyttöön säännölliset tapahtumalokin varmuuskopiot
  4. Testaa varmuuskopioiden palautusmenettelyjä säännöllisesti
  5. Säilytä varmuuskopiot erillisissä tallennusjärjestelmissä
  6. Varmista varmuuskopion eheys käyttämällä RESTORE VERIFYONLY -toimintoa

19.2 Valvonta ja ylläpito

  1. Levytilan valvontahälytysten määrittäminen
  2. Aikatauluta säännölliset DBCC CHECKDB -toiminnot
  3. monitori SQL Server virhelokit päivittäin
  4. Toteuttaa suorituskyvyn lähtötason seuranta
  5. 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ä

  1. Tarkista ensin virhelokit – Aloita aina siitä SQL Server ja Windows-lokit
  2. Tarkista tiedoston saatavuus – Varmista, että kaikki tietokantatiedostot ovat olemassa ja luettavissa
  3. Tarkista levytila – Varmista, että pelastustoimille on riittävästi tilaa
  4. Kokeile ensin yksinkertaisia ​​ratkaisuja – Palvelun uudelleenkäynnistys, offline/online
  5. Edistyminen monimutkaisiin korjauksiin – Vasta yksinkertaisten menetelmien epäonnistuttua
  6. 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:

  1. Tarkistaa SQL Server virhelokit
  2. Tarkista tietokannan tiedostojen saatavuus
  3. Tarkista käytettävissä oleva levytila
  4. Yritä palvelun uudelleenkäynnistystä
  5. Asiakirjan virheilmoitukset

Seuraavat 15 minuuttia:

  1. Kokeile offline-/online-tilassa, jos palvelun uudelleenkäynnistys epäonnistui
  2. Tarkista ja korjaa ilmeiset käyttöoikeusongelmat
  3. Varmista, että tiedostopolut ovat oikein
  4. Tarkista Windowsin tapahtumalokit
  5. 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.