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

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

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

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

База 1С в SQL Server зависла в статусе Restoring (100%): как исправить

Обновлено: 26.08.2026 · Официальная документация ↗
  • После восстановления резервной копии база 1С отображается в SSMS со статусом baza_1c (Restoring...) или (Восстановление...).
  • К базе невозможно подключиться из 1С, она недоступна для любых операций.
  • Процесс восстановления давно дошел до 100%, но статус не исчезает часами.

Почему база зависает в статусе Restoring

Это штатное поведение Microsoft SQL Server, если при восстановлении бэкапа была случайно выбрана опция NORECOVERY. В этом режиме SQL считает, что вы собираетесь накатить поверх еще несколько цепочек файлов журнала транзакций (файлы .trn), и держит базу закрытой для пользователей.

Шаг 1. Быстрое завершение восстановления (Команда WITH RECOVERY)

  1. Откройте SQL Server Management Studio (SSMS).
  2. Нажмите кнопку New Query (Создать запрос).
  3. Выполните простую команду T-SQL (замените baza_1c на имя вашей базы):
RESTORE DATABASE [baza_1c] WITH RECOVERY;
  1. Нажмите Execute (Выполнить / F5). Через 1–5 секунд статус базы изменится на нормальный, и она станет доступна.

Шаг 2. Что делать, если база зависла на этапе отката транзакций (Rollback)

Если база восстанавливалась из обычного бэкапа и зависла на 100% из-за отката огромной незавершенной транзакции:

  1. Ни в коем случае не перезапускайте службу SQL Server! Это приведет к тому, что откат начнется с самого начала и займет в два раза больше времени.
  2. Проверьте прогресс выполнения системной командой:
SELECT session_id, command, percent_complete, estimated_completion_time / 60000 AS minutes_left
FROM sys.dm_exec_requests
WHERE command LIKE '%RESTORE%' OR command LIKE '%ROLLBACK%';
💡 Практика специалистов: Если операция Rollback при восстановлении базы 1С длится нетипично долго, проверьте дисковую очередь в Performance Monitor — низкая скорость случайной записи на медленных HDD часто является единственным узким местом.

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

В чем разница между опциями WITH RECOVERY и WITH NORECOVERY?

WITH RECOVERY переводит базу в онлайн, делая ее доступной для работы. WITH NORECOVERY оставляет базу заблокированной для возможности последовательного применения дифференциальных бэкапов и логов.

Повредится ли база после команды RESTORE WITH RECOVERY?

Нет. SQL Server просто зафиксирует все завершенные транзакции, откатит незавершенные и безопасно переведет базу в рабочее состояние ONLINE.

Как восстановить базу через графический интерфейс без зависания?

В окне восстановления бэкапа в SSMS перейдите на вкладку 'Options' (Параметры) и убедитесь, что переключатель Recovery State установлен в положение 'RESTORE WITH RECOVERY'.

Что делать, если команда RESTORE WITH RECOVERY выдает ошибку?

Проверьте, не поврежден ли исходный файл резервной копии. При нарушении заголовка бэкапа восстановите базу заново из другого более раннего файла .bak.

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