симптом:

Когда используешь 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) похоже, связано с файлом журнала. Однако это неверный отчет. Актуальная проблема по-прежнему вызвана повреждением базы данных MDF.

Вы можете использовать наш продукт DataNumen SQL Recovery для восстановления данных из поврежденного файла MDF и устранения этой ошибки.

Образцы файлов:

Примеры поврежденных файлов MDF, которые вызовут Сообщение 5028 ошибка:

SQL Server версия Поврежденный файл MDF Файл MDF исправлен DataNumen SQL Recovery
SQL Server 2014 Error3.mdf Error3_fixed.mdf