次の方法で共有


サーバー構成: query governor cost limit

適用対象:SQL Server

この記事では、SQL Server Management Studio または Transact-SQL を使用して、SQL Server で query governor cost limit サーバー構成オプションを構成する方法について説明します。 コスト制限オプションでは、実行する特定のクエリに許容される推定コストの上限を指定します。 クエリ コストは、CPU 時間、メモリ、ディスク I/O などの推定実行要件に基づいて、クエリ オプティマイザーによって決定される抽象的な値です。 それは、特定のハードウェア構成でクエリを完了するために必要とされる予測所要時間を秒単位で表しています。 この抽象的な値は、実行中のインスタンスでクエリを完了するために必要な時間とは異なります。 相対的なメジャーとして扱う必要があります。 このオプションの既定値は 0 です。クエリ ガバナーはオフに設定されます。 値を 0 に設定すると、すべてのクエリは時間制限なしで実行することが許可されます。 0 以外の正の値を指定すると、クエリ ガバナーは、見積コストがこの値を超えるクエリの実行を許可しません。

推奨事項

このオプションは高度なオプションであり、経験豊富なデータベースプロフェッショナルのみが変更する必要があります。

接続ごとに 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]

  1. オブジェクト エクスプローラーで、サーバーを右クリックし、[プロパティ] を選択します。

  2. [接続] ページを選択します。

  3. [クエリの実行時間が長くならないようにクエリ ガバナーを使用する] チェック ボックスをオンまたはオフにします。

    このチェック ボックスをオンにした場合、下のボックスに正の値を入力します。任意のクエリの推定コストがその値を超えると、クエリ ガバナーによりクエリの実行が禁止されます。

Transact-SQL の使用

  1. データベース エンジンに接続します。

  2. 標準バーから、 [新しいクエリ] を選択します。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] を選択します。 この例では、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
    

詳しくは、「サーバー構成オプション」をご覧ください。

補足情報: query governor cost limit オプションを構成した後

新しい設定は、サーバーを再起動しなくてもすぐに有効になります。