Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL 9005 1С:Предприятие и СУБД

MSSQL Ошибка 9005: Database cannot be opened invalid log file formatting

Обновлено: 25.08.2026 · Официальная документация ↗
  • База данных не стартует: Msg 9005, Level 16, State 1: Database 'DatabaseName' cannot be opened because of invalid log file formatting.
  • База переходит в состояние RECOVERY PENDING или SUSPECT после перезагрузки сервера.
  • В журнале Windows Event Log зафиксированы сообщения о повреждении заголовка LDF-файла или неверном размере сектора.
  • Служба 1С:Предприятие сообщает об ошибке соединения с информационной базой.

1. Проверка текущего состояния базы данных

SELECT name, state_desc, user_access_desc FROM sys.databases WHERE name = 'DatabaseName';

2. Перевод базы в аварийный режим EMERGENCY

ALTER DATABASE [DatabaseName] SET EMERGENCY;
ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

3. Принудительное пересоздание журнала транзакций (Rebuild Log)

Если файл журнала поврежден, его можно отсечь и пересоздать с нуля с помощью аварийного режима:

-- Пересоздание поврежденного журнала транзакций
DBCC CHECKDB ('DatabaseName', REPAIR_ALLOW_DATA_LOSS);
GO

-- Альтернативный вариант прямого пересоздания лога (если CHECKDB не помог):
ALTER DATABASE [DatabaseName] REBUILD LOG ON 
(NAME = 'DatabaseName_Log', FILENAME = 'D:\MSSQL\Data\DatabaseName_Log_new.ldf');
GO

4. Возврат базы в нормальный режим работы

ALTER DATABASE [DatabaseName] SET MULTI_USER;
ALTER DATABASE [DatabaseName] SET ONLINE;

5. Обязательное создание полной резервной копии

После пересоздания LDF-файла цепочка LSN журнала транзакций разрывается. Немедленно сделайте свежий бэкап:

BACKUP DATABASE [DatabaseName] TO DISK = 'C:\Backup\DatabaseName_After_RebuildLog.bak' WITH FORMAT, INIT, CHECKSUM;
💡 Практика специалистов: После аварийного пересоздания журнала транзакций обязательно выполните проверку логической целостности в 1С:Предприятие (Тестирование и исправление), так как незафиксированные транзакции могли оставить часть документов в неконсистентном состоянии.

Частые вопросы (FAQ)

Почему возникает ошибка 9005?

Ошибка 9005 свидетельствует о повреждении структуры VLF (Virtual Log Files) внутри файла журнала транзакций .ldf: некорректная сигнатура блока, несовпадение размера секторов диска (например, перенос LDF с диска 512e на диск с нативным 4Kn) или обрыв записи заголовка.

Теряются ли данные при аварийном пересоздании лога (REBUILD LOG)?

Теряются только незафиксированные транзакции, которые находились в активной части журнала на момент сбоя. Все данные, зафиксированные на страницах MDF до падения, сохраняются.

Почему после пересоздания лога инкрементальные бэкапы (LOG Backup) падают?

Пересоздание файла журнала полностью аннулирует текущую последовательность номеров LSN. Выгрузка Transaction Log не сможет работать до тех пор, пока не будет выполнен новый FULL BACKUP.

Как избежать повреждения логов при переносе баз на новые дисковые массивы?

Всегда переносите базу через штатные процедуры BACKUP / RESTORE вместо копирования файлов (Detach/Attach), чтобы SQL Server корректно отформатировал блоки VLF под новый размер сектора накопителя.

Полезные материалы
Рекомендуем