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