симптом:
Когда используешь DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS параметр для восстановления поврежденной базы данных .MDF, например:
DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')
вы видите следующее сообщение об ошибке:
Msg 5125, уровень 24, состояние 2, строка 2
Файл 'C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATAError1.mdf, по-видимому, был усечен операционной системой. Ожидаемый размер — 5120 КБ, но фактический размер — 5112 КБ.
Msg 3414, уровень 21, состояние 1, строка 2
Во время восстановления произошла ошибка, из-за которой база данных «Error1» (39:0) не могла быть восстановлена.tarтинг. Диагностируйте ошибки восстановления и исправьте их или выполните восстановление из заведомо исправной резервной копии. Если ошибки не исправляются или ожидаются, обратитесь в службу технической поддержки.
где «Error1» — имя восстанавливаемой поврежденной базы данных MDF.
Сообщение 5125 error не является ни ошибкой распределения, ни ошибкой непротиворечивости. Это происходит, когда часть хвоста файла MDB удаляется из-за повреждения данных.
Скриншот сообщения об ошибке:
Точное объяснение:
Когда часть хвоста файла MDB удалена, ПРОВЕРКА БДД сообщит Сообщение 5125 ошибка и попробуй исправить. Если базу данных нельзя исправить, она выдаст Сообщение 3414 ошибка.
Собственно базу тоже можно восстановить, если использовать наш продукт DataNumen SQL Recovery выполнить задание.
Примеры файлов:
SQL Server версия | Поврежденный MDF-файл | Файл MDF исправлен DataNumen SQL Recovery |
SQL Server 2014 | Error8.мдф | Error8_fixed.mdf |
Ссылки: