Я знаю, что есть вопросы, которые решают проблему зависания базы данных RESTORING
и использовали эти решения для ручного перевода базы данных в оперативный режим, но мой сценарий несколько иной.
У меня есть автоматическое восстановление с использованием скриптов Powershell, которое восстанавливает копию производства в экземпляре DEV. Сценарии остаются неизменными в течение года, и иногда процесс восстановления завершается, но восстановленная база данных застревает в RESTORING
состоянии (иногда сценарий работает нормально, иногда происходит сбой, как этот).
Каждый раз, когда я вручную запускаю процесс, он работает, или если я вручную восстанавливаю базу данных из пользовательского интерфейса SSMS или через T-SQL, он завершается без проблем.
Я нашел ответы, которые рекомендовали запускать CHECKDB
на восстановленной БД, но ничего не вышло как причина этой проблемы.
Поскольку сценарии восстановления восстанавливают ПОЛНУЮ резервную копию базы данных и используют "WITH RECOVERY"
опцию, я пытаюсь выяснить, что может остановить процесс восстановления, хотя на самом деле я восстанавливаю его, используя "WITH RECOVERY"
.
Любые предложения действительно приветствуются, так как я пытаюсь понять, почему это происходит время от времени.
Я бы очень хотел решить основную причину проблемы, а не лечить симптомы, а именно вручную восстановить БД.
Обновить:
Github Gist, как рекомендовал @Brent - здесь .
EXEC sys.xp_readerrorlog 0,1;
- ищите сообщения во время операции восстановления.