Запросы SQL Server, выполняющие больше, чем набор значений тайм-аута в IIS 7.5 и SQL Server, запрашивают тайм-ауты

Да, посмотрите документация.

-1
задан 22 December 2014 в 17:41
2 ответа

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

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

http://blogs.msdn.com/b/pamitt/archive/2010/11/07/attention-events -приведение-открытая-транзакция-и-блокировка. aspx

0
ответ дан 5 December 2019 в 20:45

SQL Server по умолчанию не устанавливает тайм-аут запроса. Запрос может выполняться бесконечно.

Обычно значения тайм-аута клиента просто означают, что клиент откажется и вернет ошибку. Клиент мог потерять все соединение с сервером базы данных, и попытка очистить после себя, вероятно, будет потерянной причиной. В случае, когда клиент действительно пытается убить запрос, вы можете столкнуться с ситуацией, когда откат работы, выполненной запросом, может занять много времени. Это часто интерпретируется как запрос «все еще выполняется». Это произойдет только в том случае, если вы изменяете данные (INSERT, UPDATE, DELETE) или, возможно, если вы запускаете какие-то большие агрегаты, использующие tempdb.

10 минут - большой срок для страницы IIS.

Сначала я бы поискал блокировку между соединениями. Оператор delete, удаляющий одну строку, может заблокировать любой выбор в таблице при определенных обстоятельствах. Вы должны найти вопросы здесь, на ServerFault, которые помогут вам в этом.

Я бы посоветовал просмотреть ваши запросы, таблицы, индексы и обслуживание индексов, чтобы убедиться, что все соответствует лучшим практикам. Это большая тема, но здесь, на ServerFault, и почти на любом сайте администрирования SQL Server есть ресурсы, которые помогут вам в этом.

Оператор delete, удаляющий одну строку, может заблокировать любой выбор в таблице при определенных обстоятельствах. Вы должны найти вопросы здесь, на ServerFault, которые помогут вам в этом.

Я бы посоветовал просмотреть ваши запросы, таблицы, индексы и обслуживание индексов, чтобы убедиться, что все соответствует лучшим практикам. Это большая тема, но здесь, на ServerFault, и почти на любом сайте администрирования SQL Server есть ресурсы, которые помогут вам в этом.

Оператор удаления, удаляющий одну строку, может заблокировать любой выбор в таблице при определенных обстоятельствах. Вы должны найти здесь вопросы на ServerFault, которые помогут вам в этом.

Я бы посоветовал просмотреть ваши запросы, таблицы, индексы и обслуживание индексов, чтобы убедиться, что все соответствует лучшим практикам. Это большая тема, но здесь, на ServerFault, и почти на любом сайте администрирования SQL Server есть ресурсы, которые помогут вам в этом.

0
ответ дан 5 December 2019 в 20:45

Теги

Похожие вопросы