SET LOCK_TIMEOUT (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Указывает количество миллисекунд, в течение которых инструкция ожидает снятия блокировки.
Соглашения о синтаксисе Transact-SQL
Синтаксис
SET LOCK_TIMEOUT timeout_period
Аргументы
timeout_period
Число миллисекунда, которое будет передаваться до того, как Microsoft SQL Server возвращает ошибку блокировки. Значение -1 (по умолчанию) указывает на отсутствие времени ожидания (то есть инструкция будет ждать всегда).
Когда ожидание блокировки превышает значение времени ожидания, возвращается ошибка. Значение «0» означает, что ожидание отсутствует, а сообщение возвращается, как только встречается блокировка.
Замечания
В начале соединения этот параметр имеет значение -1. После изменения новое значение остается в силе в течение работы соединения.
Настройка SET LOCK_TIMEOUT установлена на запуск во время выполнения, но не во время синтаксического анализа.
Рекомендация блокировки READPAST представляет собой альтернативу данному параметру SET.
Инструкции CREATE DATABASE, ALTER DATABASE и DROP DATABASE не поддерживают настройки SET LOCK_TIMEOUT.
Разрешения
Необходимо быть членом роли public.
Примеры
А. Установка времени ожидания блокировки равным 1800 миллисекундам
В следующем примере время ожидания блокировки устанавливается на 1800
миллисекунд.
SET LOCK_TIMEOUT 1800;
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
B. Установка для времени ожидания бесконечного ожидания снятия блокировки.
В следующем примере для времени ожидания блокировки задается бесконечное ожидание и неограниченная длительность. Это поведение по умолчанию, которое уже задано в начале каждого подключения.
SET LOCK_TIMEOUT -1;
В следующем примере время ожидания блокировки устанавливается на 1800
миллисекунд. В этом выпуске Azure Synapse Analytics успешно анализирует инструкцию, но будет игнорировать значение 1800 и продолжать использовать поведение по умолчанию.
SET LOCK_TIMEOUT 1800;