ALTER RESOURCE GOVERNOR (Transact-SQL)

このコマンドは、次の操作を実行するために使用します。

  • CREATE|ALTER|DROP WORKLOAD GROUP または CREATE|ALTER|DROP RESOURCE POOL ステートメントの実行時に指定した構成の変更の適用

  • リソース ガバナーの有効化と無効化

  • 受信要求の分類の構成

  • ワークロード グループ統計とリソース プール統計のリセット

トピック リンク アイコン Transact-SQL 構文表記規則

構文

ALTER RESOURCE GOVERNOR 
    { DISABLE | RECONFIGURE }
|
    WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
    RESET STATISTICS
[ ; ]

引数

項目

定義

DISABLE | RECONFIGURE

DISABLE はリソース ガバナーを無効にします。 リソース ガバナーを無効にすると、結果は次のようになります。

  • 分類関数は実行されません。

  • すべての新しい接続が、既定のグループに自動的に分類されます。

  • システムによって開始される要求は、内部ワークロード グループに分類されます。

  • ワークロード グループとリソース プールの既存の設定は、すべて既定値にリセットされます。 この場合、制限に達してもイベントは発生しません。

  • 通常のシステム監視は影響を受けません。

  • 構成は変更できますが、リソース ガバナーを有効にするまで変更は反映されません。

  • SQL Server の再起動時に、リソース ガバナーはその構成を読み込みません。このとき、既定および内部のグループとプールのみが存在します。

リソース ガバナーが有効でない場合、RECONFIGURE でリソース ガバナーを有効にします。 リソース ガバナーを有効にすると、結果は次のようになります。

  • 新しい接続に対して分類関数が実行され、それらのワークロードがワークロード グループに割り当てられます。

  • リソース ガバナー構成で指定されているリソース制限が有効になり適用されます。

  • リソース ガバナーを有効にする前に存在していた要求に、リソース ガバナーが無効であったときに加えた構成の変更が反映されます。

リソース ガバナーの実行中に、CREATE|ALTER|DROP WORKLOAD GROUP または CREATE|ALTER|DROP RESOURCE POOL ステートメントの実行時に要求された構成の変更が適用されます。

重要な注意事項重要

構成の変更を有効にするには、ALTER RESOURCE GOVERNOR RECONFIGURE を実行する必要があります。

CLASSIFIER_FUNCTION = { schema_name.function_name | NULL }

schema_name.function_name で指定された分類関数を登録します。 この関数によってすべての新しいセッションが分類され、セッションの要求とクエリがワークロード グループに割り当てられます。 NULL を使用すると、新しいセッションは既定のワークロード グループに自動的に割り当てられます。

RESET STATISTICS

すべてのワークロード グループとリソース プールの統計をリセットします。 詳細については、「sys.dm_resource_governor_workload_groups (Transact-SQL)」および「sys.dm_resource_governor_resource_pools (Transact-SQL)」を参照してください。

説明

ALTER RESOURCE GOVERNOR DISABLE、ALTER RESOURCE GOVERNOR RECONFIGURE、および ALTER RESOURCE GOVERNOR RESET STATISTICS は、ユーザー トランザクション内で使用できません。

RECONFIGURE パラメーターはリソース ガバナー構文の一部であり、独立した DDL ステートメントである RECONFIGURE とは異なります。

DDL ステートメントを実行する前に、リソース ガバナーの状態について詳しく理解しておくことをお勧めします。 詳細については、「リソース ガバナー」を参照してください。

権限

CONTROL SERVER 権限が必要です。

使用例

A. リソース ガバナーを起動する

SQL Server の最初のインストール時には、リソース ガバナーは無効になっています。 リソース ガバナーを起動する例を次に示します。 このステートメントを実行するとリソース ガバナーが実行され、定義済みのワークロード グループおよびリソース プールを使用できるようになります。

ALTER RESOURCE GOVERNOR RECONFIGURE;

B. 新しいセッションを既定のグループに割り当てる

次の例では、リソース ガバナー構成から既存の分類関数を削除することによって、すべての新しいセッションを既定のワークロード グループに割り当てます。 関数が分類関数として指定されていない場合、新しいセッションはすべて既定のワークロード グループに割り当てられます。 この変更は新しいセッションにのみ適用されます。 既存のセッションは影響を受けません。

ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION = NULL);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;

C. 分類関数を作成して登録する

次の例では、dbo.rgclassifier_v1 という名前の分類関数を作成します。 この関数によって、ユーザー名またはアプリケーション名に基づいてすべての新しいセッションが分類され、セッションの要求とクエリが、指定されたワークロード グループに割り当てられます。 指定されたユーザー名またはアプリケーション名にマップされていないセッションは、既定のワークロード グループに割り当てられます。 次に分類関数が登録され、構成の変更が適用されます。

-- Store the classifier function in the master database.
USE master;
GO
SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO
CREATE FUNCTION dbo.rgclassifier_v1() RETURNS sysname 
WITH SCHEMABINDING
AS
BEGIN
-- Declare the variable to hold the value returned in sysname.
    DECLARE @grp_name AS sysname
-- If the user login is 'sa', map the connection to the groupAdmin
-- workload group. 
    IF (SUSER_NAME() = 'sa')
        SET @grp_name = 'groupAdmin'
-- Use application information to map the connection to the groupAdhoc
-- workload group.
    ELSE IF (APP_NAME() LIKE '%MANAGEMENT STUDIO%')
        OR (APP_NAME() LIKE '%QUERY ANALYZER%')
            SET @grp_name = 'groupAdhoc'
-- If the application is for reporting, map the connection to
-- the groupReports workload group.
    ELSE IF (APP_NAME() LIKE '%REPORT SERVER%')
        SET @grp_name = 'groupReports'
-- If the connection does not map to any of the previous groups,
-- put the connection into the default workload group.
    ELSE
        SET @grp_name = 'default'
    RETURN @grp_name
END
GO
-- Register the classifier user-defined function and update the 
-- the in-memory configuration.
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION=dbo.rgclassifier_v1);
GO
ALTER RESOURCE GOVERNOR RECONFIGURE;
GO

D. 統計をリセットする

次の例では、すべてのワークロード グループおよびプールの統計をリセットします。

ALTER RESOURCE GOVERNOR RESET STATISTICS;

関連項目

参照

CREATE RESOURCE POOL (Transact-SQL)

ALTER RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

sys.dm_resource_governor_workload_groups (Transact-SQL)

sys.dm_resource_governor_resource_pools (Transact-SQL)

概念

リソース ガバナー