query wait オプション

タイムアウトになるまでのクエリのリソース待ち時間を秒数 (0 ~ 2147483647) で指定するには、[クエリの待機] オプションを使用します。既定値の -1 を使用するか、-1 を指定した場合、タイムアウトはクエリの推定コストの 25 倍として計算されます。

Microsoft SQL Server では、メモリを集中的に使用するクエリ (並べ替えやハッシュ演算に関係するクエリなど) は、そのクエリの実行に使用できるメモリが不足しているとキューに登録されます。SQL Server によって計算された一定時間 (クエリの推定コストの 25 倍の時間) またはクエリの待機時間として負でない値で指定された時間が経過すると、クエリはタイムアウトします。

重要な注意事項重要

待機状態のクエリを含むトランザクションでは、クエリがメモリを待機している間、ロック状態が維持されることがあります。まれに、検出できないデッドロックが発生することもあります。クエリの待機時間を減らすと、このようなデッドロックが発生する可能性が低くなります。最終的には、待機状態のクエリが終了し、トランザクション ロックが解放されます。これに対して、最大待機時間を増やすと、クエリを終了するのに必要な時間も増加することがあります。このオプションを変更することはお勧めしません。

query wait オプションは拡張オプションです。sp_configure システム ストアド プロシージャを使用して query wait の設定を変更するには、show advanced options を 1 に設定する必要があります。新しい設定は、サーバーを再起動しなくてもすぐに有効になります。