SET LOCK_TIMEOUT (Transact-SQL)
ロックが解除されるまでのステートメントの待ち時間をミリ秒単位で指定します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
構文
SET LOCK_TIMEOUT timeout_period
引数
timeout_period
Microsoft SQL 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