サーバー構成: クエリ待機
適用対象: SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を 使用して SQL Server でクエリ待機 サーバー構成オプションを構成する方法について説明します。 クエリを実行するのに十分なメモリがない場合は、メモリを集中的に使用するクエリ (並べ替えやハッシュを含むクエリなど) がキューに入れられます。 クエリ待機オプションは、クエリがタイムアウトする前にリソースを待機する時間を秒単位 (0 ~ 2,147,483,647) で指定します。このオプションの既定値は -1 です。 このとき、タイムアウトは予測されるクエリ コストの 25 倍になります。
重要
待機状態のクエリを含むトランザクションでは、クエリがメモリを待機している間、ロック状態が維持されることがあります。 まれに、検出できないデッドロックが発生する可能性があります。 クエリの待機時間を減らすと、このようなデッドロックが発生する可能性が低くなります。 最終的には、待機状態のクエリが終了し、トランザクション ロックが解放されます。 ただし、最大待機時間を長くすると、クエリが終了するまでの時間が長くなる可能性があります。 このオプションの変更は推奨されません。
推奨事項
このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが変更するようにしてください。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio の使用 [SQL Server]
オブジェクト エクスプローラーで、サーバーを右クリックし、 [プロパティ] をクリックします。
[詳細設定] ノードを選びます。
[並列処理] の [クエリの待機] オプションに希望の値を入力します。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、 sp_configure を使用して
query wait
オプションの値を7500
秒に設定する方法を示します。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'query wait', 7500; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
詳しくは、「サーバー構成オプション」をご覧ください。
補足情報: クエリ待機オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。