В SQL 2005/2008 есть ли способ установить значения lock_timeout по умолчанию.
Все на уровне сервера, базы данных или строки подключения было бы здорово.
В SQL 2005/2008 есть ли способ установить значения lock_timeout по умолчанию.
Все на уровне сервера, базы данных или строки подключения было бы здорово.
Вы не можете установить тайм-аут блокировки в строке подключения, AFAIK. Только с SET LOCK_TIMEOUT.
Но, конечно, установка "CommandTimeout" позволит добиться довольно почти такой же результат для каждого соединения.
Существует также параметр ожидания запроса на уровне сервера, установленный sp_configure, но я им не пользовался.
Тайм-аут блокировки, т. е. количество времени, в течение которого транзакция будет ожидать блокировки, прежде чем произойдет сбой, обычно является настройкой «уровня приложения», устанавливаемой командой SET LOCK_TIMEOUT
сразу после открытия соединения.
В соответствии с этой страницей драйвера JDBC также существует настройка строки подключения lockTimeout
, который может быть тем, что вы ищете, но я не пробовал его для ODBC:
Количество миллисекунд ожидания, прежде чем база данных сообщит о тайм-ауте блокировки. Поведение по умолчанию — бесконечное ожидание. Если он указан, это значение используется по умолчанию для всех операторов соединения. Обратите внимание, что Statement.setQueryTimeout() можно использовать для установки времени ожидания для определенных операторов. Значение может быть 0, что означает отсутствие ожидания.