В выходные дни веб-сайт, который я запускаю, перестал работать, регистрируя следующую ошибку в средстве просмотра событий при каждом обращении к сайту:
Код события: 9001
Журнал для базы данных «имя базы данных » недоступен. Проверьте журнал событий на наличие сообщений об ошибках. Устраните все ошибки и перезапустите базу данных.
Веб-сайт размещен на выделенном сервере, поэтому я могу подключиться к серверу по RDP. LDF
Файл для базы данных существует в C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
папке, но пытается сделать любую работу с базой данных из результатов Management Studio в диалоговом окне отчетов ту же ошибку - 9001: Журнал для базы данных не доступен ...
Это первый раз, когда я получил эту ошибку, и я размещаю этот сайт (и другие) на этом выделенном веб-сервере уже более двух лет.
Насколько я понимаю, эта ошибка указывает на поврежденный файл журнала. Мне удалось восстановить работоспособность веб-сайта, отсоединив базу данных, а затем восстановив резервную копию, сделанную пару дней назад, но я обеспокоен тем, что эта ошибка свидетельствует о более зловещей проблеме, а именно об отказе жесткого диска.
Я написал в службу поддержки веб-хостинга, и это был их ответ:
Похоже, что в журнале событий нет никаких других указаний на причину, поэтому возможно, что журнал был поврежден. В настоящее время ресурсы памяти находятся на уровне 87%, что также может оказать влияние, но маловероятно.
Может ли журнал просто "испортиться?"
Мой вопрос: какие следующие шаги я должен предпринять, чтобы диагностировать эту проблему? Как я могу определить, действительно ли это аппаратная проблема? И если это так, есть ли варианты, кроме замены диска?
Благодарность
источник
Я смог решить эту проблему, переведя базу данных в автономный режим в Management Studio, а затем немедленно вернув ее в оперативный режим.
dbcc checkdb
бросил ошибки, которые были решены после этого. Я не могу сказать , почему это работает только , что он сделал работу.источник
У меня тоже была эта проблема в последнее время, и после многих исследований она становится обычной, когда для базы данных установлено значение AUTO CLOSE. Я установил все базы данных на AUTO CLOSE = FALSE. Это началось с одной базы данных, затем перешло к двум, и затем это было на всех из них. Я просто перезапустил службу экземпляров SQL Server вместо восстановления баз данных. Еще один способ устранить эту проблему - перевести проблемную базу данных в автономный режим и снова включить ее.
источник
MS SQL отключит журналы уязвимой базы данных во избежание повреждения базы данных. Вот почему вы получаете ошибку 9001.
Когда вы переводите уязвимую базу данных в автономный режим / онлайн, MS SQL будет включать журналы уязвимой базы данных до тех пор, пока ошибка не появится снова.
Другой способ решить эту проблему - изменить параметр Auto_Close на OFF.
http://sqlmag.com/blog/worst-practice-allowing-autoclose-sql-server-databases
источник
Я собираюсь угадать / надеюсь, что у вас есть рейд на диск для вашего сервера sql. если вы подозреваете аппаратные проблемы, самое первое, что я бы сделал, - запустите ваши инструменты обслуживания / диагностики рейда.
Второе (возможно, одновременно, если вы можете) - запустить dbcc checkdb для базы данных (возможно, также и для ваших системных баз данных).
источник
Хорошо, первый шаг, сделайте резервную копию вашего журнала и ваших файлов mdf на совершенно другой диск. БЫСТРО! (копия файла)
Также попробуйте выполнить полное резервное копирование базы данных.
Далее попробуйте следующее. Используя вашу текущую базу данных, отсоедините ее, если можете, и затем удалите файл журнала, или переместите его в совершенно другое место на диске. Затем повторно присоедините базу данных, и она будет отображаться в графическом интерфейсе с файлом журнала, нажмите кнопку удаления (или удаления) для файла журнала, чтобы он не появился, а затем нажмите кнопку ОК. В основном, прикрепляя его без журнала, вы заставите его создать файл журнала для базы данных в расположении по умолчанию.
Дай мне знать.
источник
Да, я тоже получил эту же проблему, это было связано с ошибкой tempDb 9001, т.е. журнал недоступен. Мы перезапустили сервисы и все было хорошо.
Причиной этого была проблема SAN или хранилища, в то время как во время операции ввода-вывода запись была невозможна более 15 секунд.
источник
Вчера я получил ту же ошибку: «Журнал для базы данных«% »недоступен. Неустранимая ошибка 9001, сообщение 21. Пожалуйста, обратитесь к администратору» -
Обходной путь - я проверил TempDB, но он был недоступен, как и остальные системные базы данных. Затем, прежде чем перейти к варианту восстановления, я просто перезапустил службы SQL для этого экземпляра, и проблема была решена :) :)
источник
Я видел, как это происходит, когда нет места на диске для расширения журнала; Можете ли вы проверить, что на C: \ достаточно места, и ведется ли управление вашими журналами, т.е. выполняется резервное копирование, если вы находитесь в режиме полного восстановления.
Я бы переместил ваши ldf (и mdf) с загрузочного тома, если у вас есть возможность.
источник