Trong phiên bản SQL Server 2012 x64 Std của tôi, tôi đã gặp một lỗi giao dịch lớn do nhật ký giao dịch được điền vào ngày hôm qua, nó không thể được khôi phục và SQL Server đã khởi động lại DB cụ thể để thực hiện phục hồi.
DB có dung lượng khoảng 750 GB với tlog đạt 170 GB (công việc ETL rất lớn đang chạy). Công việc chỉ chạy trong vài giờ nhưng quá trình phục hồi đã mất> 24 giờ (hoàn thành 70%, vào giai đoạn 3 của 3).
Những gì tôi không thể hiểu nó tại sao nó mất quá nhiều thời gian? Dường như không có bất kỳ áp lực nào đối với các đĩa, sys.dm_exec_requests
cho thấy nó đang chờ PAGEIOLATCH_EX/SH
, điều mà tôi mong đợi. Tôi đã có thể khôi phục toàn bộ DB trong thời gian này ...
Nếu bất cứ ai có thể làm sáng tỏ, nó sẽ được đánh giá rất cao.
EDIT: Theo yêu cầu, nhận đầu ra của nhật ký lỗi:
Recovery of database 'MyDB' (6) is 77% complete (approximately 28100 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Recovery of database 'MyDB' (6) is 77% complete (approximately 28095 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Recovery of database 'MyDB' (6) is 77% complete (approximately 28099 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Recovery of database 'MyDB' (6) is 77% complete (approximately 28102 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Recovery of database 'MyDB' (6) is 77% complete (approximately 28097 seconds remain). Phase 3 of 3. This is an informational message only. No user action is required.
Ngoài ra, sys.dm_exec_requests
thông tin bạn sau:
session_id command status percent_complete
35 DB STARTUP background 86.06061
IFI và "Thực hiện các nhiệm vụ bảo trì khối lượng" được bật / cấp.