SQL Server показує базу даних у відновлення


23

Сьогодні після відключення живлення в одній базі даних (із відновленням: повна) в SSMS відображається "У відновлення". Так:

myDatabase (у відновлення) (стан бази даних: відновлення, вимкнення)

Після закінчення "процес відновлення" в базі даних відображається назва myDatabase без "(У відновлення)". Я думав, що проблема вирішена, але це не так.

Коли я запустив додаток, який використовує цю базу даних, поруч із назвою моєї бази даних знову з’являється додатковий текст "(У відновлення)".

Я зачекав, поки "процес відновлення" закінчиться, і тоді я взяв базу даних в автономному режимі і повернув її в Інтернет.

Я перезапустив сервер, перезапустив комп'ютер і коли моя програма працює, зайвий текст з’являється знову. У журналах SQL Server кілька разів з’являється повідомлення "Запуск бази даних" myDatabase ". Здається, база даних працює, тому що я можу вставити дані, але стан показує, що щось відбувається.

Журнал сервера не показує нічого цікавого. Єдине ненормальне, що у мене є 30 записів "Запуск бази даних" myDatabase "".

Я знаю, що при запуску сервера кожна база даних проходить відновлення до того, як вона готова до використання. Але в моєму випадку база даних, що надходить в Інтернет, показує "myDatabase (У відновлення)". Якщо я закрию програму, база даних переходить у стан: нормально. Це зводить мене з розуму.

Я навіть встановив новий екземпляр SQL Server і поставив на нього стару базу даних "myDatabase". Проблема все-таки трапляється.

Коли я запускаю цей запит:

SELECT databasepropertyex('nyDatabase', 'STATUS')

Він показує відновлення, в Інтернеті, підозрюваних та повернення до Інтернету, а потім відновлення тощо.

Відповіді:



16

Я не впевнений, чи це допомогло б вирішити проблему, але ви можете дати йому постріл.

Виконати:

RESTORE DATABASE YourDatabase WITH RECOVERY

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

Чи можете ви спробувати нижченаведену команду і побачити, чи база даних пошкоджена?

DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS

Якщо він виявить пошкодження, можливо, ви захочете відновити базу даних за допомогою DBCC CHECKDB


6

Щоразу, коли ви приносите базу даних в Інтернеті, вона проходить процес відновлення. Я хоч трохи розгублений вашим формулюванням проблеми. Ви бачите, як база даних переходить у відновлення в будь-який інший момент, окрім випадків, коли база даних перебуває в режимі офлайн (або від початкового збою живлення, або від того, що ви перевели її в офлайн, а потім знову в Інтернеті)? Якщо так, то база даних перебуває в автономному режимі з якоїсь іншої причини. Найкраще перевірити журнали SQL-сервера, щоб побачити, що відбувається.

Ви також повинні перевірити журнал подій Windows на предмет чогось типу збою диска. База даних не повинна запускатись та відновлюватись під час звичайних операцій.

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