.single.post-author, Autor: Konstantinos Tsoukalas , Ultima actualizare: 1 decembrie 2024
Starea „Recuperare în așteptare” dintr-o bază de date SQL Server indică faptul că baza de date trebuie recuperată, dar procesul de recuperare nu poate începe deoarece fie nu există suficient spațiu liber pe disc, fie fișierele bazei de date lipsesc sau sunt deteriorate. Problema apare de obicei după o închidere necorespunzătoare a SQL Server sau dacă serviciul SQL Server se blochează din orice motiv.
Cum să remediați starea „Recuperare în așteptare” pe o bază de date SQL Server.
Pasul 1. Verificați dacă există suficient spațiu liber pe disc.
Eroarea „Recuperare în așteptare” dintr-o bază de date SQL poate apărea atunci când spațiul pe disc este plin sau când baza de date este coruptă. Deci, asigurați-vă mai întâi că discul care conține fișierele bazei de date are suficient spațiu liber* și apoi continuați cu pasul următor.
* Notă: dacă nu există suficient spațiu liber pe disc care conține baza de date „Recuperare în așteptare”, apoi ștergeți sau mutați unele fișiere pe alt disc, apoi reporniți SQL Server în Microsoft SQL Server Management Studio (SSMS).
Pasul 2. Verificați Existența bazei de date.
Continuați și asigurați-vă că fișierele bazei de date sunt acolo. *
* Notă: într-o instalare tipică SQL Server, fișierele bazei de date sunt localizate pe următoarea cale:
C:\Program Files\Microsoft SQL Server\MSSQLxx.ERASQLINSTANCEID\MSSQL\DATA
Pasul 3. Verificați permisiunile pentru fișierele bazei de date.
Verificați dacă SQL Server are permisiunile necesare pentru a accesa fișierele bazei de date. Pentru a face asta:
1. Faceți clic dreapta pe fișierele bazei de date și selectați Proprietăți.
2. În Securitate. asigurați-vă că contul MSSQL are permisiuni de control total. Dacă lipsește contul de serviciu SQL, faceți clic pe Editați, apoi pe Adăugați-l cu permisiuni complete.
Pasul 4. Reporniți serviciul SQL Server.
Unul dintre cele mai comune motive pentru starea „Recuperare în așteptare” într-o bază de date SQL este că serviciul SQL Server nu rulează. Deci, procedați în felul următor:
1. Navigați la serviciile Windows (services.msc).
2. Localizați Serviciul SQL Server* și, dacă nu rulează, dați clic dreapta pe el și alegeți Start. În caz contrar, dacă serviciul rulează deja, dați clic dreapta și reporniți-l.
* Notă: dacă utilizați SQL Express, reporniți Serviciul SQL Express.
3. Acum așteptați 4-5 minute, apoi vedeți în Microsoft SQL Server Management Studio dacă problema este rezolvată. Dacă nu, continuați cu pasul următor.
Pasul 5. Reporniți MS SQL Server în SSMS.
1. În Microsoft SQL Server Management Studio (SSMS), faceți clic dreapta pe pe SQL Server și selectați Reporniți.
2. Așteptați 3-4 minute, apoi extindeți secțiunea Băzuri de date și verificați dacă Eroarea „Recuperare în așteptare” persistă. Dacă da, treceți la pasul următor.
Pasul 6. Detașați și reatașați baza de date.
Următorul pas pentru a remedia „starea în așteptare a recuperării” este detașarea și re-atașați baza de date problematică. Pentru a face asta:
1. În Microsoft SQL Server Management Studio (SSMS), faceți clic dreapta pe baza de date „Recovery Rending” și selectați Sarcini > Deconectați. Apoi, faceți clic pe OK în fereastra „Luați baza de date offline”
2. Apoi, dați clic dreapta din nou pe baza de date și selectați Sarcini > Detașați. faceți clic pe OK în fereastra „Detașează baza de date offline”.
3. Acum clic dreapta pe Baze de date și selectați Atașați.
4. În fereastra Atașați baze de date , faceți clic pe Adăugați.
5. În fereastra „Locate Database Files”, selectați baza de date și faceți clic pe OK și apoi pe OK din nou pentru a atașa din nou baza de date. *
* Notă: dacă nu puteți reatașa baza de date cu eroarea „Nu se poate detașa o bază de date suspectă sau în așteptare de recuperare. Trebuie reparată sau abandonată“, continuați cu pasul următor.
6. În cele din urmă,reporniți SQL Server, așteptați 4-5 minute și apoi extindeți „Băzuri de date” pentru a afla dacă „Recuperare Eroarea în așteptare este rezolvată. Dacă nu, continuați cu pasul următor.
Pasul 7. Reparați baza de date SQL „Recuperare în așteptare”.
Dacă după aplicarea pașilor de mai sus, tot nu ați rezolvat problema, continuați să reparați baza de date în Microsoft SQL Server Management Studio utilizând pașii de mai jos:
1. În SSMS, opriți SQL Server.
2. Apoi faceți o copie a fișierelor bazei de date „Recuperare în așteptare” (.MDF și.LDF) într-o altă locație (din motive de backup).
3. Acum, porniți din nou SQL Server în SSMS și apoi executați comenzile/interogările de mai jos pentru a repara baza de date:
4. Setați baza de date în modul de urgență cu comanda/interogarea de mai jos:*
ALTER DATABASE DatabaseName SET EMERGENCY; GO
* Informații: această comandă va seta baza de date să citească-mod numai, permițându-vă să efectuați depanare ulterioară.
5. Executați verificări de consistență a bazei de date:*
DBCC CHECKDB (DatabaseName); GO
* Informații: această comandă va verifica integritatea fizică și logică a tuturor obiectelor din baza de date.
6. Setați baza de date la modul utilizator unic:*
ALTER DATABASE DatabaseName set single_user GO
* Informații: Această comandă va seta baza de date la modul utilizator unic, permițându-vă efectuați operațiuni de reparații.
7. Reparați baza de date:
DBCC CHECKDB (DatabaseName , REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS; GO
* Informații: această comandă va repara baza de date cu posibile pierderi de date, așa că utilizați-o dacă nu aveți altă opțiune.
8. Setați baza de date înapoi la modul cu mai mulți utilizatori:
ALTER DATABASE DatabaseName set multi_user > MERGE
9. După executarea comenzilor de mai sus, vedeți dacă baza de date este online. Dacă nu, încercați să detașați și să atașați din nou baza de date utilizând instrucțiunile de la pasul 6 de mai sus.
AJUTOR SUPLIMENTAR.
Dacă, după ce ați urmat pașii de mai sus, vă confruntați în continuare. eroarea „Recuperare în așteptare” din baza de date, apoi puteți încerca să remediați problema, fie restaurând baza de date afectată dintr-o copie de rezervă anterioară, fie examinând serverul de jurnal SQL.
* Notă: Pentru a vedea jurnalele SQL Server, extindeți Management în SSMS și apoi faceți clic pe Jurnalele SQL Server > Actual.
Asta este! Ce a funcționat pentru dvs.?
Spuneți-mi dacă acest ghid v-a ajutat, lăsând comentariul dvs. despre experiența dvs. Vă rugăm să apreciați și să distribuiți acest ghid pentru a-i ajuta pe alții.
Dacă acest articol v-a fost util, vă rugăm să ne sprijiniți făcând o donație. Chiar și 1 USD poate face o diferență uriașă pentru noi în efortul nostru de a continua să îi ajutăm pe alții, păstrând în același timp acest site gratuit: Konstantinos este fondatorul și administratorul Wintips.org. Din 1995 lucrează și oferă suport IT ca expert în calculatoare și rețele persoanelor fizice și companiilor mari. Este specializat în rezolvarea problemelor legate de Windows sau alte produse Microsoft (Windows Server, Office, Microsoft 365 etc.). Ultimele postări de Konstantinos Tsoukalas (vezi toate)