ALTER RESOURCE POOL (Transact-SQL)

既存のリソース ガバナー リソース プールの構成を変更します。

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

構文

ALTER RESOURCE POOL { pool_name | "default" }
[WITH
     ( [ MIN_CPU_PERCENT = value ]
     [ [ , ] MAX_CPU_PERCENT = value ] 
     [ [ , ] CAP_CPU_PERCENT = value ] 
     [ [ , ] AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}] 
     [ [ , ] MIN_MEMORY_PERCENT = value ]
     [ [ , ] MAX_MEMORY_PERCENT = value ] )
] 
[;]

Scheduler_range_spec::=
{SCHED_ID | SCHED_ID TO SCHED_ID}[,…n]
NUMA_node_range_spec::=
{NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID}[,…n]

引数

  • { pool_name | "default" }
    既存のユーザー定義のリソース プール、または SQL Server 2012 をインストールする際に作成される既定のリソース プールの名前です。

    "default" を ALTER RESOURCE POOL で使用する場合は、システム予約語の DEFAULT と競合しないように引用符 ("") または角かっこ ([]) で囲む必要があります。 詳細については、「データベース識別子」を参照してください。

    注意

    定義済みのワークロード グループおよびリソース プールはすべて、"default" などの小文字の名前を使用しています。 大文字と小文字を区別する照合順序を使用するサーバーでは、これを考慮する必要があります。 SQL_Latin1_General_CP1_CI_AS など、大文字と小文字を区別しない照合順序を使用するサーバーでは、"default" と "Default" が同じものと見なされます。

  • MIN_CPU_PERCENT =value
    CPU の競合がある場合に、リソース プールのすべての要求に保証される平均 CPU 帯域幅を指定します。 value は整数で、既定の設定は 0 です。 value の許容範囲は 0 ~ 100 です。

  • MAX_CPU_PERCENT =value
    CPU の競合がある場合に、このリソース プールのすべての要求に割り当てられる最大平均 CPU 帯域幅を指定します。 value は整数で、既定の設定は 100 です。 value の許容範囲は 1 ~ 100 です。

  • CAP_CPU_PERCENT =value
    リソース プールのすべての要求に割り当てられる、CPU 帯域幅のハード キャップを指定します。 CPU の最大帯域幅レベルを、指定した値と同じレベルに制限します。 value は整数で、既定の設定は 100 です。 value の許容範囲は 1 ~ 100 です。

  • AFFINITY {SCHEDULER = AUTO | (Scheduler_range_spec) | NUMANODE = (NUMA_node_range_spec)}
    リソース プールを特定のスケジューラにアタッチします。 既定値は AUTO です。

    AFFINITY SCHEDULER = (Scheduler_range_spec) は、指定した ID によって識別される SQL Server スケジューラにリソース プールをマップします。 これらの ID は、sys.dm_os_schedulers (Transact-SQL) の scheduler_id column 内の値にマップされます。

    AFFINITY NAMANODE = (NUMA_node_range_spec) を使用すると、リソース プールは、指定した NUMA ノードまたはノードの範囲に対応する物理 CPU にマップされた SQL Server のスケジューラに関連付けられます。 次の Transact-SQL クエリを使用して、物理 NUMA 構成と SQL Server スケジューラ ID のマッピングを検出できます。

    SELECT osn.memory_node_id AS [numa_node_id], sc.cpu_id, sc.scheduler_id
    FROM sys.dm_os_nodes AS osn
    INNER JOIN sys.dm_os_schedulers AS sc ON osn.node_id = sc.parent_node_id AND sc.scheduler_id < 1048576
    
  • MIN_MEMORY_PERCENT =value
    このリソース プール用に確保され、他のリソース プールとは共有できないメモリ量の最小値を指定します。 value は整数で、既定の設定は 0 です。 value の許容範囲は 0 ~ 100 です。

  • MAX_MEMORY_PERCENT =value
    このリソース プールの要求で使用できる合計サーバー メモリを指定します。 value は整数で、既定の設定は 100 です。 value の許容範囲は 1 ~ 100 です。

説明

MAX_CPU_PERCENT および MAX_MEMORY_PERCENT には、それぞれ MIN_CPU_PERCENT および MIN_MEMORY_PERCENT 以上の値を指定する必要があります。

CAP_CPU_PERCENT と MAX_CPU_PERCENT の違いは、プールに関連付けられているワークロードが使用する CPU 処理量が、MAX_CPU_PERCENT の値を超えることはできても (利用可能な場合)、CAP_CPU_PERCENT の値を超えることはできない点です。

関連付けられた各コンポーネント (スケジューラまたは NUMA ノード) の CPU 使用率の合計が 100% を超えることはできません。

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

権限

CONTROL SERVER 権限が必要です。

使用例

次の例では、MAX_CPU_PERCENT を 25 に変更する以外は、すべて default プールの既定のリソース プール設定が保持されます。

ALTER RESOURCE POOL "default"
WITH
     ( MAX_CPU_PERCENT = 25)
GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

次の例では、CAP_CPU_PERCENT がハード キャップを 80% に設定し、AFFINITY SCHEDULER は特定の値が 8、範囲が 12 ~ 16 に設定されています。

ALTER RESOURCE POOL Pool25
WITH( 
     MIN_CPU_PERCENT = 5,
     MAX_CPU_PERCENT = 10,     
     CAP_CPU_PERCENT = 80,
     AFFINITY SCHEDULER = (8, 12 TO 16), 
     MIN_MEMORY_PERCENT = 5,
     MAX_MEMORY_PERCENT = 15
);

GO
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

関連項目

参照

CREATE RESOURCE POOL (Transact-SQL)

DROP RESOURCE POOL (Transact-SQL)

CREATE WORKLOAD GROUP (Transact-SQL)

ALTER WORKLOAD GROUP (Transact-SQL)

DROP WORKLOAD GROUP (Transact-SQL)

ALTER RESOURCE GOVERNOR (Transact-SQL)

概念

リソース ガバナー