相关文章推荐
旅行中的红茶  ·  SQL Server ...·  2 周前    · 
打盹的课本  ·  getObject 方法 ...·  1 周前    · 
阳光的弓箭  ·  pymysql ...·  1 周前    · 
成熟的西装  ·  python 变量名 ...·  10 月前    · 
谈吐大方的警车  ·  python datetime 今天 ...·  1 年前    · 
耍酷的猴子  ·  jmeter - Getting Non ...·  1 年前    · 

适用于 SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)

指定语句等待锁释放的毫秒数。

Transact-SQL 语法约定

SET LOCK_TIMEOUT timeout_period  

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

timeout_period
在 Microsoft SQL Server 返回锁定错误前经过的毫秒数。 值为 -1(默认值)时表示没有超时期限(即无限期等待)。

当锁等待超过超时值时,将返回错误。 值为 0 时表示根本不等待,一遇到锁就返回消息。

在连接开始时,此设置的值为 -1。 设置更改后,新设置在其余的连接时间里一直有效。

SET LOCK_TIMEOUT 的设置是在执行或运行时设置,而不是在分析时设置。

READPAST 锁提示为该 SET 选项提供了另一种方式。

CREATE DATABASE、ALTER DATABASE 和 DROP DATABASE 语句不使用 SET LOCK_TIMEOUT 设置。

要求 公共 角色具有成员身份。

A:将锁超时设置为 1800 毫秒

下面的示例将锁超时期限设置为 1800 毫秒。

SET LOCK_TIMEOUT 1800;  

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

B. 将锁超时设置为一直等待锁释放。

以下示例将锁超时设置为一直等待,永不过期。 这是在每次连接开始时便已设置的默认行为。

SET LOCK_TIMEOUT -1;  

下面的示例将锁超时期限设置为 1800 毫秒。 在此版本中,Azure Synapse Analytics 将成功分析该语句,但会忽略值 1800 并继续使用默认行为。

SET LOCK_TIMEOUT 1800;  

@@LOCK_TIMEOUT (Transact-SQL)
SET 语句 (Transact-SQL)