2010-10-18 4 views
2

Я хотел знать, можем ли мы тайм-аут запроса sql.Время ожидания запроса

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

Что я хочу сделать, так это то, что если для выполнения обработки требуется более 10 минут, тогда она должна просто убить себя.

Есть ли способ сделать это?

Примером будет очень полезно.

Позвольте мне знать, если мои мысли не comprehendible ..

+0

если запрос занимает 10 минут, а затем либо (а) у вас есть очень большая база данных, (б) у вас есть мать всех запросов (маловероятно) , или (c) вам нужно переоценить свои индексы. Мои деньги находятся на (c) –

+0

10 минут был просто случайным валом, который я взял, например .. u может думать о любом времени – Egalitarian

+0

Если запрос занимает более 30 секунд, я бы посмотрел на него ... –

ответ

4

Вот что это будет выглядеть для SqlCommand.CommandTimeout

SqlCommand cmd = new SqlCommand(); 
    cmd.CommandText = "SELECT blah FROM Categories ORDER BY CategoryID"; 
    cmd.CommandTimeout = 600; // 10 minutes = 600 seconds 
    // Caveat: it you need a timeout value of more than 30 - 60 seconds 
    //   perhaps time to look at why it takes so long... 
0

Вы можете установить CommandTimout свойство Command объекта до 10 минут. Когда команда выйдет из строя, SQL Server заметит, что соединение отбрасывается и отменяет запрос.

+0

может предоставить пример .. будет много помощи – Egalitarian

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