Rozetka UA

Серьезная ошибка MS SQL server

Столкнулся с проблемой.

Похоже, процедура чтения лога exec master.dbo.xp_readerrorlog люто тупит и работает с ошибками. Это процедура чтения лога сервера- что может быть безопасней чтения лога?

На одних серверах без замечаний, занимает секунды. Но был замечен случай- сеанс отваливается по таймауту sqlcmd. А процесс продолжает работать. Замечаешь это не сразу. Когда процессу сдешаешь kill он уходит в rollback.

Все это время он жрет ресурсы CPU. Характерно, что на другие параметры производительности влияние оказывается незначительное, но по CPU чуть на сервер пошла нагрузка- сразу проблемы производительности.

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

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

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

Не думал, что штатная процедура может быть такой опасной в использовании.

Серьезная ошибка MS SQL server: 1 комментарий

  1. Уведомление: FIX: The execution of the xp_readerrorlog command in SQL Server 2005 and in SQL Server 2008 stops responding and the usage of the CPU that is running the command increases to 100 percent | DiggerSite

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Pratik UaPratik UaPratik Ua