симптом:
Когда используешь DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS параметр для восстановления поврежденной базы данных .MDF, например:
DBCC CHECKDB(xxxx, 'REPAIR_ALLOW_DATA_LOSS')
вы видите следующее сообщение об ошибке:
Msg 5028, уровень 16, состояние 4, строка 4
Системе не удалось активировать достаточно базы данных для перестроения журнала.
Результаты DBCC для «xxxx».
CHECKDB обнаружил 0 ошибок распределения и 0 ошибок согласованности в базе данных «xxxx».
Msg 7909, уровень 20, состояние 1, строка 4
Восстановление в аварийном режиме не удалось. Необходимо восстановить из резервной копии.
где «xxxx» — имя восстанавливаемой поврежденной базы данных MDF.
Сообщение 5028 error не является ни ошибкой распределения, ни ошибкой согласованности.
В то время как Сообщение 7909 является серьезной ошибкой, которая может возникать во многих ситуациях всякий раз, когда SQL Server думаю, что база данных не подлежит восстановлению.
Скриншот сообщения об ошибке:
Точное объяснение:
Сообщение об ошибке(Сообщение 5028) похоже, связан с файлом LOG. Однако это неверное сообщение. Фактическая проблема по-прежнему вызвана повреждением базы данных MDF.
Вы можете использовать наш продукт DataNumen SQL Recovery восстановить данные из поврежденного файла MDF и устранить эту ошибку.
Примеры файлов:
Примеры поврежденных файлов MDF, которые вызовут Сообщение 5028 ошибка:
SQL Server версия | Поврежденный MDF-файл | Файл MDF исправлен DataNumen SQL Recovery |
SQL Server 2014 | Ошибка3.mdf | Ошибка3_fixed.mdf |