SET LOCK_TIMEOUT (Transact-SQL)

ロックが解除されるまでのステートメントの待ち時間をミリ秒単位で指定します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

SET LOCK_TIMEOUT timeout_period

引数

  • timeout_period
    MicrosoftSQL Server がロック エラーを返すまでの経過時間をミリ秒単位で指定します。値が -1 (既定値) の場合は、タイムアウトは設定されず、無期限に待機することになります。

    ロックの待ち時間がタイムアウト値を超えると、エラーが返されます。値が 0 の場合は、待ち時間はなく、ロックがかかるとすぐにメッセージが返されます。

説明

この設定には、接続の開始時に -1 が割り当てられます。この値が変更されると、その接続の残りの期間については、新しい設定が適用されます。

SET LOCK_TIMEOUT は、解析時ではなく実行時に設定されます。

SET オプションの代わりに READPAST ロック ヒントを使用できます。

CREATE DATABASE、ALTER DATABASE、および DROP DATABASE ステートメントでは、SET LOCK_TIMEOUT の設定は無視されます。

権限

public ロールのメンバシップが必要です。

次の例では、ロック タイムアウトの待ち時間を 1800 ミリ秒に設定します。

SET LOCK_TIMEOUT 1800
GO