2015-10-12 4 views
0

Рабочий сервер SQL Server 2008 R2 потерпел сбои и полностью исчез. Мы должны перезапустить виртуальную машину, чтобы вернуть ее в игру. На этом сервере выполняется несколько заданий, и я сомневаюсь, что это связано с проблемой параллелизма, что сервер опустился. Однако для того, чтобы знать причину, я использую ниже функции на моем сервере:Чтение файла журнала SQL SERVER

  select [Current LSN], 
     [Operation], 
     [Transaction Name], 
     [Transaction ID], 
     [Transaction SID], 
     [SPID], 
     [Begin Time] 
     FROM ::fn_dblog(null,null) 

Однако, он показывает мне сделку, что произошло после перезагрузки. Могли бы вы, ребята, предложить какой-либо метод узнать причину? Заранее спасибо.

+0

Журнал событий Windows? – Phill

+0

fn_dblog - это недокументированная функция для чтения журнала транзакций, поэтому это действительно не правильное место. –

+0

Да, Джеймс, мне не хватало этого. Кроме того, журнал транзакций очищается после перезапуска сервера. –

ответ

3

Возможно, вы захотите изучить ERRORLOG, а не журнал.

Бревно неправильное место по многим причинам:

  • есть один журнал для каждой базы данных. Поэтому вы не можете заглянуть в журнал , но в один журнал.
  • журнал не предназначен для чтения людьми
  • журнал не учитывает информацию об ошибке

С другой стороны, ERRORLOG правильное место по нескольким причинам:

  • там только один ERRORLOG для всего сервера
  • ERRORLOG - текст, предназначенный для чтения человеком
  • ошибки и аномалии, скорее всего, прослеживаются в ERRO RLOG

Есть статьи о Viewing the SQL Server Error Log, но моя рекомендация - просто открыть журнал ошибок в Блокноте и прочитать. Имейте в виду, что errorlog равен циклически, поэтому при последнем перезапуске сервера старый журнал ошибок был переименован в ERRORLOG.1, и был открыт новый ERRORLOG. Если произошло несколько перезапусков, то соответствующий журнал ошибок может быть еще больше назад, например, ERRORLOG.2, ERRORLOG.3 и т. Д. Вам нужно определить правильный, основанный на времени. Каждая запись в журнале ошибок имеет временную метку. Ищите записи рядом со временем события.

Скорее всего, причина аварии была записана в конце ERORRLOG.1

Смежные вопросы