ALTER RESOURCE GOVERNOR (Transact-SQL)
このコマンドは、次の操作を実行するために使用します。
CREATE|ALTER|DROP WORKLOAD GROUP または CREATE|ALTER|DROP RESOURCE POOL ステートメントの実行時に指定した構成の変更の適用
リソース ガバナの有効化と無効化
受信要求の分類の構成
ワークロード グループ統計とリソース プール統計のリセット
構文
ALTER RESOURCE GOVERNOR
{ DISABLE | RECONFIGURE }
|
WITH ( CLASSIFIER_FUNCTION = { schema_name.function_name | NULL } )
|
RESET STATISTICS
[ ; ]
引数
用語 |
定義 |
DISABLE | RECONFIGURE |
DISABLE はリソース ガバナを無効にします。リソース ガバナを無効にすると、結果は次のようになります。
リソース ガバナが有効でない場合、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;
関連項目