Я записал довольно сложную Хранимую процедуру, которая занимает приблизительно 2 минуты для выполнения (единственный оператор Update). Однако в этом 2 минуты приводят к таймауту времен хранимой процедуры. Я задавался вопросом, был ли способ обновить истечение тайм-аута Хранимых процедур так, чтобы я не изменял тайм-аут серверов с 30 секунд. Я не могу действительно больше повреждать запасенный proc, чем он уже так работает, несколько уменьшенных вариантов сохраненного proc отчасти закрыт. Было бы хорошо сказать где-нибудь в хранимой процедуре как каждый раз, когда сохраненный proc успешно обновляет строку, обновите таймер так, чтобы это могло обновить все строки без таймаута. Любой совет ценился бы.Спасибо.
Нет. Тайм-аут команды - это чисто вещь на стороне клиента .
Что происходит с CommandTimeout: SQL Server просто пыхтит выполняет запрос и не знает что-нибудь о тайм-ауте, и когда клиент определяет, что запрос занимает слишком много времени, он отправит сообщение серверу, сообщающее ему отменить запрос. Итак, поскольку значение тайм-аута чисто на стороне клиента вещь, вы не сможете ее изменить внутри SQL Server.
Вам необходимо увеличить CommandTimeout
в вызывающем коде.