Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Аналитическая платформа (PDW)
SQL база данных в Microsoft Fabric
Указывает количество миллисекунд, в течение которых инструкция ожидает снятия блокировки.
Соглашения о синтаксисе 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;