симптом:

Когда используешь 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