Поделиться через


SET LOCK_TIMEOUT (Transact-SQL)

Указывает количество миллисекунд, в течение которых инструкция ожидает снятия блокировки.

Применимо для следующих объектов: SQL Server (SQL Server 2008 по текущую версию), База данных SQL Windows Azure (С первоначального выпуска по текущий выпуск).

Значок ссылки на раздел Синтаксические обозначения в 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 миллисекунд.

SET LOCK_TIMEOUT 1800;
GO

См. также

Справочник

@@LOCK_TIMEOUT (Transact-SQL)

Инструкции SET (Transact-SQL)