База даних "XXX" переходить. Спробуйте заяву пізніше


27

Я намагаюся підключитися до бази даних sql-сервера, я отримую цю помилку

Database 'XXX' is in transition. Try the statement later.

Я скасував довгий запит раніше сьогодні, але я чомусь не можу отримати базу даних для відновлення. Чи можна щось зробити?


4
З таким питанням, як ви справді, слід конкретизувати, який саме сервер SQL та його версію. Я здогадуюсь, ви маєте на увазі один із серверів Microsoft SQL, але нам не слід було здогадуватися.
Джон Гарденєр

Перевірте це. Це працювало для мене. stackoverflow.com/a/27036481/4273753

Відповіді:


40

Це може статися іноді, якщо ви спробуєте зняти БД в автономному режимі або виконати певні інші операції, і вони не вдаються. Іноді блокування можна зняти, якщо закрити екземпляр SSMS, який намагався виконати операцію, та повторно відкрити його. Закрийте та знову відкрийте всі екземпляри SSMS, приєднані до сервера.

Це також може статися, якщо ви спробуєте зняти БД офлайн, поки триває довгий запит. Перевірте монітор активності та спробуйте вбити будь-які тривалі запити, якщо це застосовно та безпечно.

Якщо жоден із перерахованих вище не працює, закрийте всі екземпляри SSMS, а потім перезапустіть SQL через диспетчера конфігурації SQL Server. Зазвичай це вилікує це, хоча БД може бути спочатку у режимі відновлення.


Це так дивно. Чи знаєте ви, чому це відбувається?
Крісморте

11

Як не дивно, я вирішив цю проблему, просто закривши SSMS і повторно відкрившись.


занадто просто. працював на мене.
greg121

Закриття SSMS та повторне відкриття працювали і для мене.
Майкл Боллгофер


1

У студії управління SQL Server доступна можливість прийому бази даних онлайн / офлайн. Але для цього потрібен адміністративний дозвіл.

Щоб отримати доступ до нього, клацніть правою кнопкою миші базу даних -> Завдання -> Наблизити Інтернет.


0

Я знаю, що вже відповів, але просто додати; якщо ситуація така, що ви намагалися зняти її в автономному режимі, а потім не вдалося, ви можете спробувати вбити SPID, який намагається змінити стан бази даних.

Зробіть sp_who або sp_who2 і знайдіть SPID, який обертається в БД, намагаючись зняти базу даних в автономному режимі. Вбийте цей SPID, і вам залишиться Інтернет або офлайн БД, які НЕ перебувають у перехідному стані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.