サーバー構成: クエリ ガバナーのコスト制限
適用対象: SQL Server
この記事では、SQL Server Management Studio または Transact-SQL を query governor cost limit
使用して SQL Server のサーバー構成オプションを構成する方法について説明します。 コスト制限オプションでは、実行する特定のクエリに許容される推定コストの上限を指定します。 クエリ コストは、CPU 時間、メモリ、ディスク I/O などの推定実行要件に基づいてクエリ オプティマイザーによって決定される抽象的な数値です。 それは、特定のハードウェア構成でクエリを完了するために必要とされる予測所要時間を秒単位で表しています。 この抽象的な図は、実行中のインスタンスでクエリを完了するために必要な時間と同じにはなりません。 相対的なメジャーとして扱う必要があります。 このオプションの既定値は、 0
クエリ ガバナーをオフに設定します。 この値を設定すると、 0
すべてのクエリを時間制限なしで実行できます。 0 以外の正の値を指定すると、クエリ ガバナーは、見積コストがこの値を超えるクエリの実行を許可しません。
推奨事項
このオプションは詳細設定オプションであるため、熟練したデータベース管理者または認定された SQL Server プロフェッショナルだけが変更するようにしてください。
接続ごとに query governor cost limit 値を変更するには、 SET QUERY_GOVERNOR_COST_LIMIT ステートメントを使用します。
アクセス許可
パラメーターなしで、または最初のパラメーターだけを指定して sp_configure
を実行する権限は、既定ですべてのユーザーに付与されます。 両方のパラメーターを指定して sp_configure
を実行し構成オプションを変更したり RECONFIGURE
ステートメントを実行したりするには、ALTER SETTINGS
サーバーレベル権限がユーザーに付与されている必要があります。 ALTER SETTINGS
権限は、sysadmin 固定サーバー ロールと serveradmin 固定サーバー ロールでは暗黙のうちに付与されています。
SQL Server Management Studio の使用 [SQL Server]
オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。
[接続] ページを選択します。
[クエリの実行時間が長くならないようにクエリ ガバナーを使用する] チェック ボックスをオンまたはオフにします。
このチェック ボックスをオンにした場合、下のボックスに正の値を入力します。任意のクエリの推定コストがその値を超えると、クエリ ガバナーによりクエリの実行が禁止されます。
Transact-SQL の使用
データベース エンジンに接続します。
標準バーから、 [新しいクエリ] を選択します。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、sp_configureを使用して、オプションの
query governor cost limit
値を推定クエリ コストの120
上限に設定する方法を示します。USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXECUTE sp_configure 'query governor cost limit', 120; GO RECONFIGURE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
詳しくは、「サーバー構成オプション」をご覧ください。
補足情報: クエリ ガバナーのコスト制限オプションを構成した後
新しい設定は、サーバーを再起動しなくてもすぐに有効になります。