Ограничение ресурса на связанном сервере SQL Server

Я часто получаю сообщение об ошибке хранимой процедуры, которая использует openquery для чтения через связанный сервер.

Поставщик OLE DB "SQLNCLI11" для связанного сервера "BrackleyICS" сообщил об ошибке. Исполнение прервано провайдером, поскольку достигнут предел ресурса.

Это обычно происходит в 10,01 минуты. Это подразумевает настройку тайм-аута, однако в других случаях он будет работать нормально, что займет 35 минут.

Кто-нибудь сталкивался с этим?

3 ответа

Вы можете проверить текущие настройки тайм-аута:

тайм-аут запроса

щелкните правой кнопкой мыши сервер> Свойства> Подключения> Тайм-аут удаленного запроса

таймаут входа

щелкните правой кнопкой мыши сервер> Свойства> Дополнительно> Тайм-аут удаленного входа

Я думаю, что ваше время входа в систему установлено на 10 минут, вам нужно увеличить его, запустив скрипт ниже, измените значение с 30 секунд на необходимое

sp_configure 'remote login timeout', 30
go 
reconfigure with override 
go 

Причина, почему это не тайм-ауты каждый раз: Не уверен, но если пользовательские идентификаторы вошли на сервер, то тайм-аут не происходит.

EXEC sys.sp_configure N'remote query timeout (s)', N'1800' GO RECONFIGURE WITH OVERRIDE GO

Значение по умолчанию составляет 600 с, что равно 10 мин.

Связанный сервер также имеет свою собственную настройку Тайм-аут запроса в Связанный сервер-> Свойства-> Параметры сервера. Вероятно, он установлен в 0 - это значение по умолчанию.

В этом случае используется расширенная настройка сервера Query Wait, которая, опять же, скорее всего, установлена ​​на -1 (по умолчанию).

В этом случае время ожидания определяется для каждого запроса и рассчитывается как 25-кратная оценочная стоимость запроса.

Больше информации в MSDN

Другие вопросы по тегам