Время ожидания истекло до завершения операции или сервер не отвечает - PullRequest
3 голосов
/ 14 марта 2011

У нас есть база данных производственного сервера и проект Widnows Client.Внезапно мы получаем эту ошибку при запросе базы данных.

"Период ожидания истек до завершения операции или сервер не отвечает"

Как мы можем решить эту проблему со стороны базы данных /C # Windows?

Спасибо, Велусамы

1 Ответ

5 голосов
/ 14 марта 2011

Быстрый и грязный ответ: установите SqlCommand.CommandTimeout на более высокое значение.

Длинный ответ:

  • Запустите запрос в SSMSс включенным «Показать фактический план выполнения».Проверьте результат для подсказок индекса.
  • Проверьте журналы сервера базы данных на наличие подозрительных событий
  • Убедитесь, что статистика не устарела

Этот запрос показывает возрастстатистика:

SELECT  Object_Name(ind.object_id)
,       ind.name
,       STATS_DATE(ind.object_id, ind.index_id) 
FROM    SYS.INDEXES ind 

Оптимизатор запросов использует статистику, когда выбирает, как выполнить запрос.Если статистика старая, она может сделать (действительно) неудачный выбор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...