Назад | Перейти на главную страницу

Диагностика тайм-аута SQL Server 2008 после длительного использования

Через каждые несколько дней безупречной работы в журнале событий сервера базы данных появляется следующее информационное событие:

Process 0:0:0 (0x890) Worker 0x5C55A0D8 appears to be non-yielding on Scheduler 0.
Thread creation time: 12945965386972. Approx Thread CPU Used: kernel 0 ms, user 0 ms.
Process Utilization 0%%. System Idle 98%%. Interval: 70427 ms.

Невыполняющий рабочий процесс, каким бы он ни был, вызывает следующее исключение тайм-аута соединения для всех баз данных моих приложений:

Exception message: Timeout expired. The timeout period elapsed prior to completion of
the operation or the server is not responding.

Это сообщение будет повторяться до бесконечности, пока я не перезапущу службу SQL. Однако служба не останавливается, поэтому мне пришлось насильно убить процесс SQLServr.exe, что плохо. Затем все запускается как обычно, и служба восстанавливается.

Как мне диагностировать причину этой проблемы?

Вам следует начать здесь - http://msdn.microsoft.com/en-us/library/cc917684.aspx в разделе «Исследование ошибки 17883».