Недавно я обновил сервер MSSQL с версии 2000 до 2005, чтобы использовать UDF и настроить некоторые результаты в системе. Дело в том, что у нас нет исходного кода.
Итак, я заменил версию SQL, и все работало нормально ... кроме случаев, когда нам нужно выполнить большой запрос. Я получаю такую ошибку:
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Я искал об этом и понял, что раньше это был CommandTimeout
Проблема, которую я должен решить программно, поскольку она должна быть на стороне клиента, но это странно, потому что она всегда работала даже с большими запросами.
Есть ли способ убрать тайм-аут? Система полностью внутренняя, и ею пользуются всего несколько человек, поэтому нет риска сбоев ... Я предпочитаю вечный запрос, чем эти раздражающие сообщения.
Заранее спасибо!
Эти таймауты команд определяются кодом, поэтому, если у вас нет источника, вам немного не повезло с его удалением.
Что вам нужно сделать, так это поместить трассировку SQL Profiler в сеанс и точно выяснить, что вызывает длительный запрос. Скорее всего, вы сможете найти что-то не так на стороне базы данных (отсутствующие индексы, плохие соединения и т. Д.).