Что Приводит к Тому, что SQL Server Застревает в Восстановленном состоянии

#sql-server #ssms

Вопрос:

Компания, в которой я работаю, обычно имеет для нас личную базу данных, которая является клоном промежуточной базы данных. Иногда мне нужно будет удалить свою базу данных и восстановить ее в текущей версии промежуточной базы данных, поэтому процесс, с помощью которого я это делаю,:

  1. Откройте среду SQL Server Management Studio
  2. Подключение к серверу
  3. Откройте обозреватель объектов
  4. Разверните узел дерева серверов
  5. Разверните узел дерева баз данных
  6. Щелкните правой кнопкой мыши на моей базе данных
  7. Нажмите Удалить (проверьте параметры Закрытия существующих подключений).
  8. Нажмите кнопку ОК
  9. Щелкните правой кнопкой мыши на узле дерева баз данных
  10. Нажмите кнопку Восстановить базу данных…
  11. В раскрывающемся списке исходная база данных выберите промежуточную копию
  12. В поле «База данных назначения» измените значение на имя моей базы данных
  13. Нажмите кнопку ОК

Проблема в том, что чаще всего база данных застревает в восстановленном состоянии. Проблему достаточно просто решить, поскольку я могу выполнить следующий запрос сразу после шага 13:

 RESTORE DATABASE stagingdatabase WITH RECOVERY;
 

Но предпочтительно я хотел бы знать, почему он для начала застревает в восстановленном состоянии, и посмотреть, есть ли что-то, что я могу добавить в свой список шагов, чтобы предотвратить его застревание в первую очередь.

Комментарии:

1. Предположительно, когда вы запустили RESTORE выбранное RESTORE WITH NORECOVERY вами состояние восстановления в диалоговом окне.

2. @Larnu — Когда я выполняю шаги 10-13, я сохраняю параметры, установленные по умолчанию. Я дважды проверил состояние восстановления, и это RESTORE WITH RECOVERY по умолчанию, и флажки над этим выпадающим списком все не отмечены.

3. Затем база данных выйдет из режима восстановления в конце RESTORE , @David .

4. При восстановлении базы данных состояние базы данных должно быть «восстановлено», поскольку она будет воспроизводить некоторые последние транзакции, в которых данные еще не записаны в файл данных. Иногда это может занять много времени из-за нехватки ресурсов, например, когда вы делаете это на ПК или ноутбуке с ограниченной оперативной памятью…

5. @SQLPro — он будет в основном оставаться в этом состоянии, пока я не выполню команду. Самое долгое, что у меня оставалось, — это 2 дня, и оно так и не вышло. Я не думаю, что это оперативная память, потому что я только что проверил, и у меня 32 ГБ установленной памяти с 31,8 ГБ в качестве «полезной». Единственное предостережение заключается в том, что на сервере, на котором находится база данных, имеется довольно много баз данных (125, если быть точным), и некоторые из них, вероятно, могут быть удалены (старые проекты больше не поддерживаются). Может ли это быть проблемой?