Kai SQL serverio duomenų bazė pažymėta aAtkūrimo laukiama būsena, tai reiškia, kad vieno ar kelių pagrindinių failų būsena yra nenuosekli. Todėl negalima pasiekti duomenų bazės. Sužinoję, kodėl taip nutinka, galite rasti tinkamus problemos sprendimo būdus, kad vėl galėtumėte pasiekti savo duomenis. Tada galite vykdyti užklausas SQL Server Management Studio (SSMS) ir pataisytiSQL serverio duomenų bazė laukia atkūrimo būsenosproblema.
Kaip patikrinti SQL duomenų bazės būseną
Prieš pradėdami taisyti laukiančią atkūrimo būseną, pažvelkime į kitas galimas SQL serverio duomenų bazių būsenas. Yra trys įprastos duomenų bazės būsenos:
- Prisijungę.Jei sugadinamas vienas failas, SQL serveris lieka pasiekiamas ir prisijungęs.
- Įtariamasis.Jei duomenų bazė negali atkurti sugadintų duomenų (jei atkurti nepavyko), ji bus rodoma kaip įtariamasis.
- Laukiama atkūrimo.Kai serveris žino, kad duomenų bazę reikia atkurti, bet kažkas nutiko ir jis negali pradėti atkūrimo, jis rodomas kaip laukiama atkūrimo.
Norėdami patikrinti duomenų bazės būseną, galite naudoti šią SQL užklausą:
PASIRINKITE pavadinimą, būsenos_desc iš sys.databases
EIK
Rezultatuose bus rodomos visos esamos duomenų bazės ir jų būsenos. Jei kurioje nors iš duomenų bazių stulpelyje state_desc kaip reikšmė rodoma „Laukiama atkūrimo“, tai reiškia, kad jūsų duomenų bazė yra tos konkrečios būsenos.
Norėdami išspręsti „SQL serverio duomenų bazės atkūrimo laukiama“ problemą, atlikite toliau nurodytus veiksmus.
- Atidarykite SQL duomenų bazę EMERGENCY režimu, kad pažymėtumėte ją kaip READ_ONLY. Tai suteikia prieigą tik sistemos administratoriui. Tada atidarykite „SQL Server Management Studio“ (SSMS).
- Sukurkite naują duomenų bazės užklausos langą dešiniuoju pelės mygtuku spustelėdami jį skydelyje Object Explorer ir pasirinkdamiNauja užklausa.
- Vykdykite šias komandas:
ALTER DATABASE <DBName> NUSTATYTI EMERGENCY; EIK
ALTER DATABASE [DBName] nustatytas vienas_vartotojas
EIK
DBCC CHECKDB ([DBName], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
EIK
ALTER DATABASE [DBName] nustatytas multi_user
Taip pat skaitykite:Skirtumas tarp SQL serverio prisijungimų ir duomenų bazės vartotojų
EIK
- Įvykdę aukščiau nurodytas komandas, paleiskite duomenų bazę neprisijungus prie interneto (atjunkite) ir vėl įjunkite (iš naujo prijunkite) naudodami komandas:
PAKEISTI DUOMENŲ BAZĘ [DBPavadinimas] NUSTATYTI EMERGENCY;
ALTER DATABASE [DBName] nustatytas multi_user
EXEC sp_detach_db „[DBName]“
EXEC sp_attach_single_file_db @DBName = '[DBName]', @physname = N'[mdf kelias]'
- Atlikęs aukščiau nurodytus veiksmus, serveris atsikratys sugadinto žurnalo ir automatiškai sukurs naują.
Kodėl duomenų bazės pereina į atkūrimo laukiančią būseną?
Duomenų bazė gali pereiti į atkūrimo laukimo būseną dėl vienos ar daugiau priežasčių, pvz., sistemos duomenų failų sugadinimo, prarastų rašymo operacijų ir disko klaidų. Daugeliu atvejų ši problema kyla, kai yra neatitikimų tarp pirminio failo ir jo žurnalo failų arba atskirų atsarginių kopijų.
Kaip taisyti SQL duomenų bazę ir atkurti duomenis
Galite paleisti komandą DBCC CHECKDB savo SQL serveryje, kad patikrintumėte, ar duomenų bazės failuose nėra klaidų ir sugadinimo, ir tai ištaisytumėte. Norėdami atkurti prarastus SQL failus, galite naudoti duomenų atkūrimo programinę įrangą. „SalvageData“ siūlo nemokamą duomenų atkūrimo programinę įrangą. Norėdami naudoti nemokamą „SalvageData“ duomenų atkūrimo įrankį, pirmiausia turite atsisiųsti ir įdiegti programinę įrangą. Sutikite su sąlygomis ir spustelėkite mygtuką DUOMENŲ ATGAVIMAS.

Po to pasirinkite diską, iš kurio norite nuskaityti failus. Tada spustelėkite RECOVER.

Pasirinkite failų sistemą ir spustelėkite NUSKAITYTI. Baigę nuskaitymo procesą, iš sąrašo galite pasirinkti, kuriuos failus norite atkurti. Jei pageidaujate, galite susisiekti su mūsų duomenų atkūrimo ekspertais 24 val., 7 dienas 365 val., kad gautumėte skubios pagalbos duomenų atkūrimo paslaugą.













