Sisukord peida

Kui teie SQL-andmebaas jääb taastamist ootavasse olekusse kinni, muutub see ligipääsmatuks ja toimingud peatuvad. See põhjalik juhend pakub 15 tõestatud meetodit SQL-andmebaasi taastamist ootavate probleemide lahendamiseks, alates lihtsatest taastamistesttarts täiustatud avariiremondini.

1. SQL-andmebaasi taastamise ootel oleku mõistmine

Enne mis tahes lahenduste proovimist on õige lahenduse valimiseks ülioluline mõista, mis põhjustab SQL-andmebaasi taastamise ootel probleeme.

1.1 Mida tähendab „Sissenõudmise ootel“?

Sissenõudmise ootel olemine näitab, et SQL Server tuvastab, et andmebaas vajab taastamist, kuid ei saa taastadatart taastumisprotsessi. Erinevalt olekust „Taastumine“, mis näitab aktiivset taastumist, tähendab „Taastumine ootel“ seda, et taastumist takistab takistus.

SQL Server andmebaas on taastamise ootel olekus.

Andmebaasi põhiolekud hõlmavad järgmist:

  • ONLINE – Tavaline tööseisund
  • TAASTUMINE – Taastumisprotsess on aktiivselt käimas
  • SISSESAAMINE OOTAB – Taastumine ei ole võimaliktart
  • KAHTLUSTAV – Andmebaasis on kriitilisi vigu
  • HÄDAABI – Piiratud kirjutuskaitstud juurdepääs remondiks
  • OFFLINE – Käsitsi võrguühenduseta võetud

1.2 SQL-andmebaasi taastamise ootel olemise levinumad põhjused

SQL-andmebaasi taastamise ootel probleemid tulenevad tavaliselt järgmistest levinud põhjustest:

  • Puuduvad või rikutud tehingulogifailid (LDF)
  • Taastetoimingute ajal pole piisavalt kettaruumi
  • Riistvararikked ja ootamatud süsteemi seiskamised
  • Rikutud MDF-andmebaasifailid
  • Failiõiguste probleemid, mis takistavad juurdepääsu
  • SQL Server teenusedtartup ajastusprobleemid
  • FILESTREAMi konfiguratsioonivead
  • Valed failiteed pärast serverisse migreerimist

1.3 Kuidas kontrollida andmebaasi olekut

Andmebaasi oleku kontrollimiseks kasutage järgmisi meetodeid:

Kasutamine SQL Server Juhtimisstuudio:

  1. Ühenda oma SQL Server Näiteks
  2. Laiendama Andmebaasid kausta
  3. Otsi andmebaase, mille olek on „(Taastamine ootel)”.

SQL Server andmebaas on taastamise ootel olekus.

T-SQL käsu kasutamine:

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

2. Esialgne diagnoosostic sammud

Enne mis tahes SQL-andmebaasi taastamise ja ootel paranduste tegemist on oluline õige diagnoos.

2.1 Kontrollige SQL Server Vealogid

Vealogid sisaldavad olulist teavet selle kohta, mis põhjustas taastamise ootel oleku.

  1. avatud SQL Server Juhtimisstuudio
  2. Liigu juhtimine -> SQL Server Logid
  3. Hiljutiste vigade kuvamiseks topeltklõpsake praegusel logil
  4. Otsige oma andmebaasiga seotud veateateid

kontrollimine SQL Server andmebaasiga seotud hiljutiste vigade logid.

Teise võimalusena kasutage T-SQL-i:

EXEC sp_readerrorlog;

2.2 Kontrollige Windowsi sündmuste logisid

  1. press Windowsi klahv + R
  2. KASUTUSALA eventvwr.msc ja vajutage sisestusklahvi
    Ava Windowsi sündmustevaatur.
  3. Liigu Windows Logid -> süsteem ja taotlus
  4. Otsi SQL Server seotud vead probleemi ilmnemise ajal

Sündmuste vaaturis otsi üles SQL Server seotud vead, mis võivad põhjustada SQL-andmebaasi taastamise ootel probleemi.

2.3 Failide ligipääsetavuse kontrollimine

  1. Navigeeri oma andmebaasifailide asukohtadesse
  2. Veenduge, et nii MDF- kui ka LDF-failid on olemas
  3. Kontrollige, kas draivid on võrgus ja ligipääsetavad
  4. Veenduge, et võrgudraivid on õigesti ühendatud

3. Parandus nr 1: Restart SQL Server Teenused

RestarTing SQL Server teenused lahendavad paljusid SQL-andmebaasi taastamise pooleliolevaid probleeme, mis on põhjustatud ajastusprobleemidest või tempostrary ressursikonfliktid.

3.1 Teenuse osutamise ajaltart Works

See meetod on efektiivne järgmistel juhtudel:

  • Aegrary ressursi lukustused s ajaltartoru
  • Draivi kättesaadavuse viivitused
  • Teenuse sõltuvuse ajastusprobleemid
  • Väiksemad konfiguratsioonikonfliktid

3.2 Kuidas uuridatart SQL Server Teenused

Meetod 1: SQL Server Konfiguratsioonihaldur

  1. avatud SQL Server Konfiguratsioonihaldur
  2. Click SQL Server Teenused
  3. Paremklõpsake seda SQL Server näiteks, näiteks SQL Server (MSSQLSERVER)
  4. valima Restart
  5. Oodake, kuni teenus on täielikult taastunud.tart

Restart SQL Server teenistuses SQL Server Konfiguratsioonihaldur.

2. meetod: teenuste konsool

  1. press Windowsi klahv + R
  2. KASUTUSALA services.msc ja vajutage sisestusklahvi
    Avage Windowsi teenuste konsool.
  3. Leia SQL Server näiteks, näiteks SQL Server (MSSQLSERVER)
  4. Paremklõpsake ja valige Restart

Restart SQL Server teenus teenuste konsoolis, et lahendada SQL-andmebaasi taastamise ootel probleem.

3. meetod: PowerShell

Restart-Service -Name "MSSQLSERVER" -Force

3.3 Post-Restart Kontrollimine

  1. Oodake 2-3 minutit, kuni s on valmis.tartoru
  2. Andmebaasi oleku kontrollimine SSMS-is
  3. Kontrollige uute sõnumite vealogisid
  4. Testi andmebaasi ühenduvust

4. Parandus nr 2: kontrollige ja lahendage kettaruumi probleemid

Ebapiisav kettaruum on SQL-andmebaasi taastamise ootel probleemide levinud põhjus. Taastetoimingud vajavad ajutiseks taastamiseks lisaruumi.rary-failid ja logide kasv.

4.1 Kettaruumi probleemide tuvastamine

  1. avatud file Explorer
  2. Navigeeri andmebaasifaile sisaldavatele draividele
  3. Kontrolli saadaolevat vaba ruumi
  4. Tagage taaskasutustoimingute jaoks vähemalt 10–20% vaba ruumi

4.2 Kettaruumi vabastamine

  1. Kustuta ebavajalik temporary failid
  2. Puhasta valikud SQL Server varundusfailid, kui ruumi on kriitiline
  3. Teisalda mittevajalikud failid teistele draividele
  4. Kahanda võimalusel teisi andmebaasifaile

Kahanda andmebaasifaile (kasuta ettevaatlikult):

DBCC SHRINKFILE (logicalfilename, target_size);

4.3 Andmebaasi võrguühenduse loomine pärast ruumi parandamist

Kui ruumi on, proovige andmebaas võrku tuua:

ALTER DATABASE [DatabaseName] SET ONLINE;

5. Parandus nr 3: Määrake SQL Server Teenus hilinenud S-iletart

Kehtestamine SQL Server hilinenud s-nitart lahendab SQL-andmebaasi taastamise ootel probleemid, mis on põhjustatud salvestussüsteemide või võrgudraivide mittevalmimisest süsteemi käivitamise ajal.

5.1 Ajastusprobleemide mõistmine

Ajastusprobleemid tekivad siis, kui:

  • SAN-i või võrgusalvestusruumi initsialiseerimine võtab aega
  • Draivitähti varajase käivitamise ajal ei määrata
  • Võrgukettad vajavad autentimist
  • Salvestuskontrollerid vajavad initsialiseerimisaega

5.2 Viivitusega S seadistaminetart

  1. press Windowsi klahv + R
  2. KASUTUSALA services.msc ja vajutage sisestusklahvi
    Avage Windowsi teenuste konsool.
  3. Leia SQL Server näiteks, näiteks SQL Server (MSSQLSERVER)
  4. Paremklõpsake ja valige Kinnisvara
  5. Muutma Startup-tüüp et Automaatne (viivitusega Start)
    Muutma SQL Server startüübi automaatseks muutmine (viivitusega Start) SQL-andmebaasi taastamise ootel oleva probleemi lahendamiseks.
  6. Click OK
  7. Restarsüsteemi testimiseks

5.3 Ajastuse alternatiivsed lahendused

Täpsema kontrolli saamiseks looge ajastatud ülesanne:

  1. avatud Toiminguajasti
  2. Click Toiming -> Loo põhiülesanne
  3. Sisestage Eesnimi ja Kirjeldus ülesandest, näiteks „Viivitus start SQL Server teenus”
  4. komplekt Trigger et Kui arvutitarts
  5. komplekt tegevus et Starta programm
  6. komplekt Programm/skript kogu teekonnale Sqlservr.exe, näiteks see: C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe. Selle leidmiseks saate kasutada Windowsi otsingufunktsiooni.
  7. Lõpplehel valige Ava selle ülesande omaduste dialoog, kui klõpsan nuppu Valmis.
    Loo ülesanne edasilükatud s-de jaokstart SQL Server Windowsi ülesannete ajastaja sees.
  8. Click lõpp.
  9. Klõpsake ülesande atribuutide dialoogiboksis nuppu Triggerid tab
  10. Valige päästik ja klõpsake Edit
    Redigeeri ülesande päästikut ülesande omaduste dialoogiboksis.
  11. Lisaseadetes märkige ruut Ülesande edasilükkamine: ja määrake ajaks 3 minutit.
    Määrake ülesanne viivitusega s-ikstart 3 minuti pärast, et lahendada SQL-andmebaasi taastamise ootel tõrge.
  12. Click OK.

6. Parandus nr 4: failiõiguste ja juurdepääsuõiguste parandamine

Lubadega seotud probleemid takistavad SQL Server juurdepääsu andmebaasifailidele, mis viib SQL-andmebaasi taastamise ootel olekusse. Andmebaasi toimingute jaoks on olulised õiged failiõigused.

6.1 Levinumad lubadega seotud probleemid

  • SQL Server teenusekontol puuduvad failidele juurdepääsu õigused
  • Viirusetõrjetarkvara blokeerib failidele juurdepääsu
  • Muudetud turvapoliitikad
  • Võrgu jagamise lubade probleemid

6.2 Kaustaõiguste parandamine

  1. Navigeeri andmebaasi failikausta
  2. Paremklõpsake kausta ja valige Kinnisvara
  3. kliki TURVALISUS tab
  4. Click Edit
  5. Lisa SQL Server teenusekonto, kui see puudub
  6. Grant Täielik kontroll Õigused
  7. Click OK muudatuste rakendamiseks

Kontrollige ja parandage kasutaja luba SQL Server teenusekonto SQL Server andmekaust.

Käsurea (icacls) kasutamine:

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

6.3 Teenusekonto kaalutlused

Kontrollige SQL Server teenuse konto:

  1. avatud SQL Server Konfiguratsioonihaldur
  2. Click SQL Server Teenused
  3. Pange tähele Logi sisse kui konto jaoks SQL Server
  4. Veenduge, et sellel kontol oleksid õiged õigused

Vaata SQL Server teenusekonto, et lahendada SQL-andmebaasi taastamise ootel probleem.

7. Parandus nr 5: failitee käsitsi parandamine

Failiteede probleemid tekivad andmebaasifailide teisaldamisel või draivitähtede muutmisel. See meetod värskendab SQL Serversisemised failiviited ilma tegelikke faile liigutamata.

7.1 Millal tekivad teekonnaga seotud probleemid

  • Serveri riistvara muudatused
  • Draivitähe ümbermääramised
  • Võrgutee muudatused
  • Andmebaasifailide ümberpaigutused

7.2 Failiteede parandamine

  1. Tuvastage vealogides praegused failiteed
  2. Leidke tegelikud andmebaasifailid
  3. Kasutage teede värskendamiseks ALTER DATABASE'i

Andmefaili tee värskendamine:

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

Värskenduslogi faili tee:

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

7.3 Kontrollimisetapid

  1. Restart SQL Server teenus
  2. Andmebaasi oleku kontrollimine
  3. Kontrollige teekonnaga seotud teadete vealogisid
  4. Testi andmebaasi ühenduvust

8. Parandus nr 6: viige andmebaas võrguühenduseta ja seejärel võrku

See lihtne oleku muutus saab lahendada väiksemaid SQL-i andmebaasi taastamise ootel olevaid probleeme, sundides puhta oleku ülemineku ja tühjendades tempo.rary lukud.

8.1 Millal see meetod töötab

  • Väiksemad vastuolud osariikides
  • Aegrary ressursilukud
  • Lihtne taastamisprotsessi lähtestamine
  • Mittekriitilised veatingimused

8.2 Võrguühenduseta/võrguühenduseta protseduur

  1. Veenduge, et andmebaasiga pole aktiivseid ühendusi
  2. Käivita võrguühenduseta käsk
  3. Oodake mõni sekund
  4. Käivita võrgukäsk

Turvaline meetod (ootab ühenduste sulgemist):

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

Kohene meetod (katkestab ühendused):

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

8.3 Riskid ja kaalutlused

Hoiatus: Funktsiooni ROLLBACK IMMEDIATE kasutamine võib põhjustada kinnitamata tehingute tõttu andmete kadu. Kasutage seda ainult vajaduse korral ja veenduge, et kasutajad on välja logitud.

9. Parandus nr 7: keelake automaatse sulgemise funktsioon

AUTOMAATSE SULGEMISE funktsioon võib põhjustada SQL-andmebaasi taastamise ootel probleeme, kui andmebaasid sageli avanevad ja sulguvad, tekitades ajastuskonflikte taastamistoimingute ajal.

9.1 AUTOMAATSE SULGEMISE MÕJU mõistmine

  • Andmebaas sulgub pärast viimase kasutaja ühenduse katkestamist
  • Peab iga kord andmebaasi avamisel taastama
  • Loob sagedased taastumistsüklid
  • Võib häirida teisi toiminguid

9.2 AUTOMAATSE SULGEMISE keelamine

T-SQL-i kasutamine:

ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;

Kasutamine SQL Server Juhtimisstuudio:

  1. Paremklõpsake andmebaasi
  2. valima Kinnisvara
  3. Minna Valikud lehekülg
  4. komplekt Automaatne sulgemine et Vale
  5. Click OK

Keela automaatse sulgemise atribuut SQL Server andmebaasis SQL Server Management Studio lahendab SQL-andmebaasi taastamise ootel probleemi.

9.3 Seotud AUTOmaatsed sätted

Parema jõudluse saavutamiseks kaaluge ka AUTO_SHRINK keelamist:

ALTER DATABASE [DatabaseName] SET AUTO_SHRINK OFF;

10. Parandus nr 8: Kustutage rikutud logifail ja taastage seetart

See meetod toimib siis, kui tehingulogi fail on parandamatult rikutud. Seda tuleks kasutada ainult arenduskeskkondades või kui andmete kadu on vastuvõetav.

10.1 Millal on logide kustutamine asjakohane

⚠️ OLULINE HOIATUS: See meetod põhjustab andmete kadu!

Kasutage ainult siis, kui:

  • Töö arendus-/testimisandmebaasidega
  • Logifail on täielikult rikutud
  • Muid taastamisvõimalusi pole
  • Hiljutised varukoopiad on saadaval

10.2 Logifailide kustutamise protseduur

  1. Peatus SQL Server teenindus täielikult
  2. Navigeeri andmebaasifaili asukohta
  3. Kustuta .LDF-fail (hoidke .MDF-fail alles)
  4. Start SQL Server teenus
  5. SQL Server loob automaatselt uue logifaili

10.3 Olulised hoiatused

Andmete kadumise tagajärjed:

  • Kõik kinnitamata tehingud on lost püsivalt
  • Logikett on katki – diferentsiaalvarundused on kehtetud
  • Taastumine konkreetsel ajahetkel muutub võimatuks
  • Kasutada ainult mittetootmiskeskkondades

11. Parandus nr 9: Andmebaasi eraldamine ja uuesti ühendamine

Jõudude eraldamine ja taasühendamine SQL Server et taastada puuduvad või rikutud logifailid. See meetod aitab lahendada SQL-andmebaasi taastamise ootel probleeme, kui logifailid on problemaatilised.

11.1 Millal eemaldamine/uuesti kinnitamine toimib

  • Puuduvad logifailid
  • Rikutud logifaili päised
  • Logifaili tee muudatused
  • Lihtsad korruptsioonistsenaariumid

11.2 Standardne eemaldamise/uuesti kinnitamise protseduur

  1. Seadke andmebaas esmalt hädaolukorra režiimi
  2. Lülitu mitme kasutaja režiimi
  3. Andmebaasi eraldamine
  4. Kinnitage uuesti ainult MDF-faili abil
-- 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 Alternatiivsed kinnitusmeetodid

Mitme faili stsenaariumide korral:

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

12. Parandus nr 10: tehingulogi failide taastamine

Logi taastamine loob uue tehingulogi faili, kui originaal on kadunud või parandamatult kahjustatud. See meetod lahendab SQL-andmebaasi taastamise pooleliolevad probleemid, kuid põhjustab andmete kadu.

12.1 Millal on vaja palgi ümberehitust

  • LDF-failide puudumine pärast riistvara riket
  • Tõsiselt rikutud tehingulogid
  • Logifaili tee muudatused, mida ei saa parandada
  • Hädaolukorrad taastumiseks

12.2 Logi taastamise protsess

⚠️ HOIATUS: See põhjustab andmete kadu!

  1. Andmebaasi seadistamine avariirežiimile
  2. Kasutage käsku REBUILD LOG
  3. Määrake uue logifaili asukoht
  4. Andmebaasi võrku toomine
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 Andmete kadumise tagajärgede mõistmine

Logi taastamise põhjused:

  • Kõigi kinnitamata tehingute kadumine
  • Katkised logi järjekorranumbrid
  • Võimetus rakendada järgnevaid logide varukoopiaid
  • Taastumine konkreetsel ajahetkel muutub võimatuks

13. Parandus nr 11: Avariirežiimi remont koos DBCC CHECKDB

Avariirežiimi parandamine on viimane abinõu SQL-andmebaasi taastamiseks, kui on tekkinud rikkeid. See meetod suudab andmebaase parandada, kuid võib põhjustada märkimisväärset andmete kadu.

13.1 Hädaolukorra režiimi mõistmine

⚠️ ÄÄRMUSLIK HOIATUS: Suur andmete kadumise oht!

Kasutage avariirežiimi ainult siis, kui:

  • Kõik muud meetodid on ebaõnnestunud
  • Hiljutisi varukoopiaid pole saadaval
  • Mõningane andmete taastamine on parem kui täielik kadu
  • Andmebaas on kriitiliselt rikutud

13.2 Avariiremondi protseduur

  1. Tehke kõigepealt rikutud andmebaasifailidest varukoopia
  2. Andmebaasi seadistamine avariirežiimile
  3. Lülitu ühe kasutaja režiimile
  4. Käivita CHECKDB parandamisvalikuga
  5. Tagasi mitme kasutaja režiimi
-- 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-Remondi hindamine

  1. Vaadake CHECKDB väljund üle parandusmeetmete jaoks
  2. Puuduvate tabelite või andmete kontrollimine
  3. Kriitilise rakenduse funktsionaalsuse kontrollimine
  4. Kui andmeid on liiga palju, kaaluge varukoopiast taastamist.ost

14. Parandus nr 12: kontrollige ja parandage FILESTREAM-i konfiguratsiooni

FILESTREAM-i konfiguratsiooniprobleemid võivad põhjustada SQL-andmebaasi taastamise ootel probleeme. See meetod lahendab FILESTREAM-i spetsiifilisi taastamistõrkeid.

14.1 FILESTREAMiga seotud taasteprobleemid

  • FILESTREAM-draiveri ühenduse tõrked
  • Konfiguratsiooni mittevastavused SQL Server ja operatsioonisüsteem
  • Ajastusprobleemid teeninduste ajaltartoru
  • FILESTREAM-konteinerite lubadega seotud probleemid

14.2 FILESTREAMi tõrkeotsing

  1. Kontrollige FILESTREAM-i konfiguratsiooni taset
  2. Veenduge, et Windowsi funktsioon on lubatud
  3. Restarvajalikud teenused
  4. Kontrollige FILESTREAM-i konteineri õigusi

Kontrollige FILESTREAMi konfiguratsiooni:

SELECT SERVERPROPERTY('FilestreamEffectiveLevel') AS CurrentLevel;

Luba FILESTREAM eksemplari tasemel:

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

14.3 FILESTREAMi parimad tavad

  • Tagage ühtne konfiguratsioon eri ressursse hõlmavates rakendustes.tarts
  • Veenduge, et FILESTREAM konteineri teed oleksid ligipääsetavad
  • Kontrollige, kas Windowsi FILESTREAM funktsioon on õigesti lubatud.
  • Jälgige FILESTREAMiga seotud veateateid

15. Parandus nr 13: Värskendus SQL Server Versioon/hoolduspaketid

Vanem SQL Server Versioonid, eriti RTM-väljaanded, sisaldavad teadaolevaid vigu, mis põhjustavad SQL-andmebaasi taastamise ootel probleeme. Uusimatele hoolduspakettidele värskendamine lahendab need probleemid.

15.1 Vanemate versioonide teadaolevad probleemid

  • SQL Server 2005. aasta RTM-i taastamise vead
  • Taasteprotsesside hoolduspaketipõhised parandused
  • Äärmuslike juhtumite käsitlemise kumulatiivsed värskendused
  • Ühilduvusprobleemid uuemate Windowsi versioonidega

15.2 Värskendusprotsess

  1. Kontrollige praegust SQL Server versioon
  2. Tuvastage uusim saadaolev hoolduspakett
  3. Allalaadimine Microsofti allalaadimiskeskus Välislink
  4. Hooldusperioodi ajakava
  5. Installi hoolduspakett
  6. Restart-teenused
  7. Andmebaasi funktsionaalsuse kontrollimine

Kontrollige praegust versiooni:

SELECT @@VERSION;

15.3 Post-Uuenduste kinnitus

  1. Versiooninumbri muutmise kinnitamine
  2. Kontrollige, kas kõik andmebaasid on korralikult võrgus.
  3. Käivita põhilised funktsionaalsustestid
  4. Jälgige vealogisid uute probleemide ilmnemisel

16. Parandus nr 14: Andmebaasi taastamine varukoopiast

Kui SQL-andmebaasi taastamise pooleliolevaid probleeme ei saa parandusmeetodite abil lahendada, annab teadaolevalt toimivast varukoopiast taastamine most usaldusväärne lahendus prognoositavate andmekao piiridega.

16.1 Kui lahendus on varukoopiate taastamine

  • Mitmed paranduskatsed on ebaõnnestunud
  • Olulised tootmisandmed vajavad kindlust
  • Vastuvõetav andmekao aken on olemas
  • Korruptsioon on liiga ulatuslik, et seda parandada

16.2 Täielik andmebaasi taastamise protsess

  1. Tuvastage most hiljutine kasutatav varukoopia
  2. Veenduge, et taastamiseks oleks piisavalt kettaruumi
  3. Vajadusel eemalda andmebaas võrguühenduseta või eemalda see
  4. Taasta varukoopiafailist
  5. Rakenda logide varukoopiaid, kui need on saadaval

Täielikust varukoopiast taastamine:

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

Taastamine logide varukoopiate abil konkreetse ajahetke taastamiseks:

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 Kontrollimine ja testimine

  1. Andmebaasi eduka võrku jõudmise kontrollimine
  2. Andmete terviklikkuse kontrollimine CHECKDB abil
  3. Kriitiliste rakenduse funktsioonide testimine
  4. Varundamise/taastamise vigadeta lõpuleviimise kinnitamine

16.4 Viide

Lisateavet saate meie käest Põhjalik juhend varundamise ja taastamise kohta SQL Server andmebaasid.

17. Parandus nr 15: professionaalsed SQL-i taastamise tööriistad

Kui käsitsimeetodid ei suuda SQL-andmebaasi taastamise pooleliolevaid probleeme lahendada, saab spetsiaalne taastamistarkvara hankida andmeid tõsiselt rikutud andmebaasidest, mida ei saa standardmeetoditega parandada.

17.1 Millal kaaluda kolmandate osapoolte tööriistu

  • Tõsine korruptsioon, mis ületab käsitsi parandamise võimalused
  • Olulised andmed, mille varukoopiaid pole saadaval
  • Mitu ebaõnnestunud käsitsi parandamise katset
  • Ajakriitilised taastamisnõuded

17.2 DataNumen SQL Recovery

DataNumen SQL Recovery on võimas SQL Server andmebaasi taastamise tööriist.

Allpool on toodud sammud selle kasutamiseks:

  1. Peatage SQL Server Service.
    Peatage SQL Server teenus teenuste konsoolis.
  2. Tehke taastamise ootel olekus andmebaasi failidest koopiad, sh nii primaarne MDF-fail kui ka sekundaarsed NDF-failid.
  3. Start SQL Server Service.
  4. Start DataNumen SQL Recovery.
  5. Valige taastatava andmebaasi allikaks koopia, mitte originaalfail.
  6. Klõpsake "Star„Taasta” ja järgige andmebaasi taastamiseks juhiseid.
  7. Pärast taastamisprotsessi ilmub uus taastamisandmebaas SQL Server mis sisaldab kõiki taastatud andmeid.

Kasutama DataNumen SQL Recovery ühe rikutud parandamiseks SQL Server MDF-fail ja lahendage SQL-andmebaasi taastamise ootel tõrge.

18. Täiustatud tõrkeotsingu stsenaariumid

Komplekssetes keskkondades on SQL-andmebaasi taastamisega seotud probleemide lahendamiseks vaja spetsiaalseid lähenemisviise.

18.1 Mitme andmebaasifailiga seotud probleemid

Mitme andmefailiga (NDF) andmebaasid vajavad hoolikat käsitlemist:

  • Mõjutatud failirühmade tuvastamine
  • Kontrollige kõigi NDF-failide ligipääsetavust
  • Kaaluge failirühmapõhiseid taastamisvõimalusi
  • Kirjutuskaitstud failirühmade asjakohane käsitlemine

18.2 Alati sisse lülitatud kättesaadavusgrupid

SQL-andmebaasi taastamine ootel alati põleb keskkonnad:

  • Kontrollige kõigepealt primaarse koopia olekut
  • Sünkroniseerimise oleku kontrollimine
  • Kaalu probleemse koopia eemaldamist ja uuesti lisamist
  • Vaadake kättesaadavusrühma konfiguratsioon üle

18.3 Klastri ja kõrge käideldavuse stsenaariumid

SQL-andmebaasi taastamine ootel tõrkesiirdeklaster ja kõrge kättesaadavus stsenaariumid:

  • Jagatud salvestusruumi ligipääsetavuse kontrollimine
  • Kontrollige klastri sõlme sidet
  • Vaadake üle tõrkesiirdeklastri logid
  • Tagage nõuetekohane DNS-i lahendamine

18.4 WMI ja süsteemitaseme probleemid

Süsteemitaseme probleemid võivad põhjustada andmebaasiprobleeme:

  • WMI hoidla korruptsioon
  • Ebaõnnestunud Windowsi värskendused
  • Registri korruptsioon
  • Teenusest sõltuvuse probleemid

19. Ennetusstrateegiad

SQL-andmebaasi taastamise ootel probleemide ennetamine on tõhusam kui nende lahendamine pärast tekkimist.

19.1 Varundamise parimad tavad

  1. Rakenda automatiseeritud täielike varundusgraafikute
  2. Regulaarsete diferentsiaalvarunduste seadistamine
  3. Seadistage sagedased tehingulogi varukoopiad
  4. Testige regulaarselt varukoopiate taastamise protseduure
  5. Varukoopiate salvestamine eraldi salvestussüsteemidesse
  6. Varukoopia terviklikkuse kontrollimine funktsiooniga RESTORE VERIFYONLY

19.2 Järelevalve ja hooldus

  1. Kettaruumi jälgimise märguannete seadistamine
  2. Regulaarsete DBCC CHECKDB toimingute ajastamine
  3. Jälgida SQL Server iga päev vealogid
  4. Täitma tulemuslikkuse baasjälgimine
  5. Seadistamine SQL Server Agendi hoiatused kriitiliste vigade kohta

19.3 Taristuga seotud kaalutlused

  • Paigaldage toiteallika kaitsmiseks UPS-süsteemid
  • Kasutage ettevõtte tasemel salvestusruumi koos koondamise võimalusega
  • Rakendage nõuetekohaseid sulgemisprotseduure
  • Tagada jagatud salvestusruumi võrgu stabiilsus
  • Regulaarne riistvara tervise jälgimine

19.4 SQL Server Parimad tavad konfiguratsiooni jaoks

  • Valige sobivad taastamismudelid
  • Mõistlike automaatse kasvu sätete konfigureerimine
  • Eraldage andme- ja logifailid erinevatel draividel
  • Kasutage minimaalsete õigustega spetsiaalseid teenusekontosid
  • hoidma SQL Server uuendatud uusimate hoolduspakettidega

20. Otsustuspuu ja metoodika tõrkeotsing

Järgige seda süstemaatilist lähenemisviisi SQL-andmebaasi taastamise ootel probleemide ilmnemisel.

20.1 Süstemaatiline diagnoosimismeetod

  1. Kontrollige kõigepealt vealogisid – Alati start koos SQL Server ja Windowsi logid
  2. Failide ligipääsetavuse kontrollimine – Veenduge, et kõik andmebaasifailid on olemas ja loetavad
  3. Kontrollige kettaruumi – Veenduge, et päästetöödeks on piisavalt ruumi
  4. Proovige esmalt lihtsaid lahendusi – Teenindusressursidtart, võrguühenduseta/võrgus
  5. Edasi liikumine keerukate remonditööde suunas – Alles siis, kui lihtsad meetodid ebaõnnestuvad
  6. Kaalu varukoopiast taastamist – Kui remondiriskid on liiga suured

20.2 Õige parandusmeetodi valimine

Madal risk (proovi esimesena):

  • Restart SQL Server teenused
  • Kettaruumi kontrollimine ja lahendamine
  • Paranda failiõigusi
  • Võrguühenduseta/võrguühenduseta andmebaas

Keskmine risk:

  • Failiteede parandused
  • Keela automaatne sulgemine
  • FILESTREAMi konfiguratsiooni parandused
  • Teenus hilinebtart

Kõrge risk (andmete kadu on võimalik):

  • Kustuta logifail ja lahendatart
  • Andmebaasi eraldamine/uuesti ühendamine
  • Tehingulogide taastamine
  • Avariirežiimi remont koos DBCC CHECKDB

20.3 Millal eskaleerida

Otsige professionaalset abi, kui:

  • Mitmed kõrge riskiga meetodid on ebaõnnestunud
  • Andmebaas sisaldab asendamatuid kriitilisi andmeid
  • Korruptsioon mõjutab mitut andmebaasi
  • Kahtlustatakse süsteemitaseme probleeme
  • Ajapiirangud nõuavad garanteeritud tulemusi

21. KKK

K: Mis vahe on andmebaasi olekutel „TAASTUMINE“ ja „TAASTUMINE OOTAB“?

A: „TAASTUB” tähendab, et andmebaas teeb aktiivselt taastamistoiminguid ja on pärast nende lõpetamist automaatselt võrku ühendatud. „TAASTUB OOTAB” tähendab SQL Server ei saa startaastamisprotsessi takistuse, näiteks puuduvate failide, ebapiisava ruumi või rikke tõttu. Taastamine on ootel ja selle lahendamiseks on vaja käsitsi sekkuda.

K: Millist lahendust peaksin esmalt proovima, kui SQL-andmebaasi taastamisega on probleeme?

A: Alati starkõigepealt kõige ohutumate meetoditega. Kontrollige SQL Server vealogid, kontrollige kettaruumi saadavust ja proovige seejärel uuestitarTing SQL Server teenused. Need madala riskiga lähenemisviisid lahendavad most tavalised taastamisprobleemid ilma andmete kadumise riskita.

K: Kui kaua peaksin ootama, enne kui proovin mõnda muud parandusmeetodit?

A: Teenindusressursi jaokstaroodake 2-3 minutit, kuni s on valmistarLihtsate olekumuudatuste (nt võrguühenduseta/võrguühenduseta) korral oodake 30–60 sekundit. Keeruliste paranduste (nt DBCC CHECKDB) korral arvestage andmebaasi suurusest olenevalt mitme tunniga. Ärge katkestage taastamisprotsesse pärast installimist.tartatud.

K: Kas SQL-andmebaasi taastamise ootel probleemide lahendamisel kaob andmeid?

A: Andmete kadu sõltub kasutatud meetodist. Ohutud meetodid, näiteks teenuse taastaminetarts, kettaruumi parandused ja õiguste korrigeerimine ei põhjusta andmete kadu. Kõrge riskiga meetodid, nagu hädaolukorra režiimi parandamine, logide taastamine või logifailide kustutamine, võivad põhjustada märkimisväärset andmete kadu. Proovige alati kõigepealt turvalisi meetodeid.

K: Kas ma saan vältida SQL-andmebaasi taastamise ootel probleemide tekkimist?

V: Jah, most Probleeme saab korraliku hoolduse abil vältida. Rakendage regulaarselt varukoopiaid, jälgige kettaruumi, hoidke piisavat salvestusmahtu, kasutage UPS-kaitset, tehke rutiinseid DBCC CHECKDB toiminguid ja hoidke SQL Server uuendatud uusimate hoolduspakettidega.

K: Kas peaksin proovima tootmisandmebaase parandada tööajal?

V: Ärge kunagi proovige tööajal tootmisandmebaasides kasutada kõrge riskiga parandusmeetodeid. Planeerige keerukate paranduste jaoks hooldusaknaid. Siiski tuleks ohutuid meetodeid, näiteks hooldustööde teostamist, kasutada.tarKriitiliste toimingute blokeerimisel saab ts-ide või kettaruumi parandusi proovida kohe.

K: Millal peaksin taastama varukoopiast, mitte proovima parandada?

A: Taastage varukoopiast, kui mitu parandamiskatset ebaõnnestuvad, kui tegemist on kriitiliste tootmisandmetega, mille edasine riknemine ei ole ohus, kui teil on hiljutised varukoopiad vastuvõetava andmekao ajaga või kui parandamismeetodid võtaksid kauem aega kui taastamistoimingud.

K: Kuidas ma tean, kas minu andmebaasifailid on rikutud või lihtsalt ligipääsmatud?

Tšekk SQL Server Konkreetsete veateadete vealogid. Failide ligipääsetavuse probleemid näitavad veateadet „faili ei leita” või lubade vigu. Rikutud failid näitavad tavaliselt kontrollsumma vigu, lehe tasemel vigu või järjepidevuse rikkumisi. Kasutage DBCC CHECKDB-d, et andmebaasile ligipääsetava olekus rikutud faili lõplikult testida.

K: Kuidas on andmebaasifailide kopeerimiseks kõige turvalisem viis enne parandamise proovimist?

V: Stopp SQL Server teenus täielikult käivitada ja seejärel kopeerige nii MDF- kui ka LDF-failid varunduskohta. Teise võimalusena kasutage andmebaasi varundamise käske, kui andmebaas on endiselt ligipääsetav. Ärge kunagi kopeerige faile, kui SQL Server töötab, kuna see võib luua vastuolulisi koopiaid.

K: Kas SQL-andmebaasi taastamise ootel olevad probleemid võivad mõjutada mitut andmebaasi korraga?

V: Jah, süsteemitaseme probleemid, näiteks ebapiisav kettaruum, teenusekonto probleemid, salvestusruumi tõrked või SQL Server Konfiguratsioonivead võivad mõjutada mitut andmebaasi. Laiemate süsteemiprobleemide tuvastamiseks kontrollige alati, kas teistel andmebaasidel on sarnaseid probleeme.

K: Kui tihti peaksin oma andmebaasi taastamise protseduure testima?

A: Kriitiliste andmebaaside taastamisprotseduuride testimine igakuiselt ja oluliste andmebaaside puhul kord kvartalis. Testige erinevaid taastamisstsenaariume, näiteks taastamine konkreetsel ajahetkel, logide järjestuse taastamine ja hädaolukorra taastamise protseduurid. Dokumenteerige ja ajastage iga test hädaolukorra planeerimiseks.

K: Millal peaksin Microsofti toega ühendust võtma või professionaalset abi paluma?

A: Pöörduge professionaalse abi poole, kui mitu paranduskatset ebaõnnestuvad, peate tegelema kriitiliste andmetega ilma varukoopiateta, seisate silmitsi keeruka korruptsiooniga mitmes andmebaasis, ilmnevad dokumenteerimata veateated või kui ajapiirangud nõuavad garanteeritud taastamistulemusi.

K: Kas kolmanda osapoole SQL-i taastamistööriistad on investeeringut väärt?

A: Taastetööriistad on väärtuslikud, kui käsitsi meetodid ebaõnnestuvad ja varukoopiaid pole olemas. Most tööriistad pakuvad tasuta hindamisversioone, et enne ostmist testida taastatavust. Mõelge c-leost võrreldes professionaalsete teenustega, andmete väärtuse ja edukuse tõenäosusega. Tööriistad toimivad kõige paremini struktuurilise rikke korral, kuid ei pruugi taastada kõiki andmetüüpe.

K: Mida peaksin tegema, kui SQL-andmebaasi taastamise ootel olemise probleem kordub pidevalt?

A: Korduvad probleemid viitavad süsteemi algpõhjustele. Kontrollige riistvaratõrgete, ebapiisavate ressursside, salvestussüsteemi probleemide või konfiguratsiooniprobleemide olemasolu. Jälgige Windowsi sündmuste logisid, rakendage põhjalikku jälgimist ja kaaluge riistvara uuendamist või usaldusväärsematele salvestussüsteemidele üleminekut.

22. Kokkuvõte ja kiirülevaade

SQL-andmebaasi taastamise pooleliolevaid probleeme saab lahendada nende 15 tõestatud meetodi abil, alates lihtsast teenuse taastamisesttarkeerukate avariiliste remonditöödeni.

22.1 Kiirparanduste kokkuvõtte tabel

Fix meetod Riskitase Andmete kadumise oht Kõige paremini kasutatav
Restart SQL Server Madal mitte ükski Ajastusprobleemid, temporary lukud
Kontrollige kettaruumi Madal mitte ükski Kosmosega seotud tõrked
Hilinenud start Madal mitte ükski Salvestusaja probleemid
Parandage load Madal mitte ükski Juurdepääs keelatud vead
Õiged failiteed Madal mitte ükski Teekonna muutused, ränded
Võrguühenduseta / veebis Keskmine Miinimum Riikide vastuolud
Keela automaatne sulgemine Madal mitte ükski Sagedased avamis-/sulgemistsüklid
Kustuta logifail Kõrge Jah Rikutud logid, arenduskeskkonnad
Eralda/kinnita uuesti Kõrge Jah Puuduvad või rikutud logid
Logide taastamine Kõrge Jah Puuduvad LDF-failid
Avariiparandus DBCC CHECKDB abil Väga kõrge Jah Raske korruptsioon, viimane abinõu
Paranda FILESTREAM Keskmine mitte ükski FILESTREAMi konfiguratsiooniprobleemid
Värskendused SQL Server Keskmine mitte ükski Teadaolevad versioonivead
Taastage varundamisest Madal Kontrollitud Kui parandusmeetodid ebaõnnestuvad
Taastamisvahendid Keskmine Erinev Tõsine korruptsioon, varukoopiaid pole

22.2 Hädaolukorrale reageerimise kontrollnimekiri

Esimesed 5 minutit:

  1. Vaata SQL Server vealogid
  2. Andmebaasi failidele ligipääsetavuse kontrollimine
  3. Kontrolli saadaolevat kettaruumi
  4. Teenuse res katsetart
  5. Dokumendi veateated

Järgmised 15 minutit:

  1. Proovige võrguühenduseta/võrguühendusega, kui teenus on saadavaltart ebaõnnestus
  2. Kontrollige ja parandage ilmseid lubadega seotud probleeme
  3. Kontrollige, et failiteed oleksid õiged
  4. Vaadake üle Windowsi sündmuste logid
  5. Varukoopiate kättesaadavuse hindamine

22.3 Täiendavad ressursid

Pidage meeles: ennetamine nõuetekohaste varukoopiate, jälgimise ja hoolduse abil on alati parem kui taastamine. Nende protseduuride regulaarne testimine mittetootmiskeskkondades tagab, et olete valmis SQL-andmebaasi taastamisega seotud probleemide ilmnemiseks.


Teave Autor

Yuan Sheng on vanem andmebaasiadministraator (DBA), kellel on üle 10 aasta kogemust SQL Server keskkonnad ja ettevõtte andmebaaside haldus. Ta on edukalt lahendanud sadu andmebaaside taastamise stsenaariume finantsteenuste, tervishoiu ja tootmisorganisatsioonides.

Yuan on spetsialiseerunud SQL Server andmebaaside taastamine, kõrge käideldavuslahendused ja jõudluse optimeerimine. Tema ulatuslik praktiline kogemus hõlmab mitme terabaidiste andmebaaside haldamist, alati sisse lülitatud käideldavusgruppide rakendamist ning automatiseeritud varundus- ja taastestrateegiate väljatöötamist missioonikriitiliste ärisüsteemide jaoks.

Oma tehnilise asjatundlikkuse ja praktilise lähenemise abil keskendub Yuan terviklike juhendite loomisele, mis aitavad andmebaasiadministraatoritel ja IT-spetsialistidel lahendada keerulisi probleeme SQL Server väljakutseid tõhusalt. Ta on kursis uusimate uudistega SQL Server väljalasete ja Microsofti arenevate andmebaasitehnoloogiate põhjal, testides regulaarselt taastestsenaariume, et tagada oma soovituste vastavus reaalsetele parimatele tavadele.

Kas teil on küsimusi SQL Server taastamist või vajate täiendavat andmebaasi tõrkeotsingu juhendamist? Yuan tervitab tagasisidet ja ettepanekuid nende tehniliste ressursside täiustamiseks.