Симптом:
При використанні DBCC CHECKDB з REPAIR_ALLOW_DATA_LOSS параметр для відновлення пошкодженої бази даних .MDF, наприклад:
DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')
ви бачите таке повідомлення про помилку:
Msg 5125, рівень 24, стан 2, лінія 2
Файл 'C: Програмні файли Microsoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf ', схоже, був усічений операційною системою. Очікуваний розмір - 5120 КБ, а фактичний - 5112 КБ.
Msg 3414, рівень 21, стан 1, лінія 2
Під час відновлення сталася помилка, що перешкоджає відновленню бази даних "Помилка1" (39: 0)tarвідтінок. Діагностуйте помилки відновлення та виправте їх або відновіть із відомої хорошої резервної копії. Якщо помилки не виправлені або не очікуються, зверніться до служби технічної підтримки.
де 'Error1' - це назва пошкодженої бази даних MDF, що відновлюється.
Повідомлення 5125 помилка - це ні помилка розподілу, ні помилка узгодженості. Це відбувається, коли частина хвоста файлу MDB видаляється через пошкодження даних.
Знімок екрана повідомлення про помилку:
Точне пояснення:
Коли частина хвоста файлу MDB буде видалена, CHECKDB звітуватиме Повідомлення 5125 і спробуйте виправити. Якщо базу даних неможливо виправити, вона видасть Повідомлення 3414 помилка
Насправді базу даних також можна відновити, якщо ми використовуємо наш продукт DataNumen SQL Recovery виконати завдання.
Зразки файлів:
SQL Server версія | Пошкоджений файл MDF | Файл MDF виправлено DataNumen SQL Recovery |
SQL Server 2014 | Error8.mdf | Error8_fixed.mdf |
Список використаної літератури: