[リソース ガバナー]Resource Governor

適用対象: yesSQL Server yesAzure SQL Database (Managed Instance のみ) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

SQL ServerSQL Server リソース ガバナーは、SQL ServerSQL Server のワークロードとシステム リソースの消費を管理するために使用できる機能です。Resource Governor is a feature than you can use to manage SQL ServerSQL Server workload and system resource consumption. リソース ガバナーを使用すると、受信するアプリケーション要求で使用可能な CPU、物理 IO、およびメモリの量に制限を指定できます。Resource Governor enables you to specify limits on the amount of CPU, physical IO, and memory that incoming application requests can use.

リソース ガバナーの利点Benefits of Resource Governor

リソース ガバナーでは、受け取った要求に応じてリソース消費を制限することにより、 SQL ServerSQL Server のワークロードとリソースを管理することができます。Resource Governor enables you to manage SQL ServerSQL Server workloads and resources by specifying limits on resource consumption by incoming requests. リソース ガバナーでは、同程度のサイズの複数のクエリや要求を 1 つのエンティティとして扱う場合、それらをワークロードと呼んでいます。In the Resource Governor context, workload is a set of similarly sized queries or requests that can, and should be, treated as a single entity. これは必須ではありませんが、ワークロードのリソースの使用パターンが統一化されていると、リソース ガバナーから得られる利点も増えます。This is not a requirement, but the more uniform the resource usage pattern of a workload is, the more benefit you are likely to derive from Resource Governor. リソース制限は、実行中のワークロードへの影響を最小限に抑えながらリアルタイムで再構成できます。Resource limits can be reconfigured in real time with minimal impact on workloads that are executing.

複数の個別のワークロードが同一サーバー上に存在する環境でリソース ガバナーを使用すると、指定された制限に基づいてこれらのワークロードを区別し、要求された共有リソースを割り当てることができます。In an environment where multiple distinct workloads are present on the same server, Resource Governor enables you to differentiate these workloads and allocate shared resources as they are requested, based on the limits that you specify. それらのリソースは CPU、物理 IO、およびメモリです。These resources are CPU, physical IO, and memory.

リソース ガバナーを使用すると、次のことが可能です。By using Resource Governor, you can:

  • 複数のクライアント ワークロードを提供する SQL Server の 1 つのインスタンスで、マルチテナント機能とリソースの分離を提供します。Provide multitenancy and resource isolation on single instances of SQL Server that serve multiple client workloads. つまり、サーバー上の使用可能なリソースをワークロード間で分散し、ワークロードがリソースの確保を求めて競合したときに発生する可能性のある問題を最小限に抑えることができます。That is, you can divide the available resources on a server among the workloads and minimize the problems that can occur when workloads compete for resources.

  • 複数のワークロードが存在するマルチユーザー環境で、予測可能なパフォーマンスを実現し、ワークロード テナントの SLA をサポートします。Provide predictable performance and support SLAs for workload tenants in a multi-workload and multi-user environment.

  • IO サブシステムを飽和させ、他のワークロードに悪影響を与える可能性のある DBCC CHECKDB などの操作に対して、ランナウェイ クエリの分離と制限または IO リソースの調整を行います。Isolate and limit runaway queries or throttle IO resources for operations such as DBCC CHECKDB that can saturate the IO subsystem and negatively impact other workloads.

  • リソース使用のチャージバックに対して詳細なリソースの追跡を追加し、サーバー リソースの消費者に予測可能な請求情報を提供します。Add fine-grained resource tracking for resource usage chargebacks and provide predictable billing to the consumers of the server resources.

リソース ガバナーの制約Resource Governor Constraints

このリリースのリソース ガバナーには次の制約があります。This release of Resource Governor has the following constraints:

  • リソース管理は SQL Server データベース エンジンSQL Server Database Engineに制限されています。Resource management is limited to the SQL Server データベース エンジンSQL Server Database Engine. Analysis ServicesAnalysis ServicesIntegration ServicesIntegration Services、および Reporting ServicesReporting Servicesではリソース ガバナーを使用できません。Resource Governor can not be used for Analysis ServicesAnalysis Services, Integration ServicesIntegration Services, and Reporting ServicesReporting Services.

  • SQL Server のインスタンス間のワークロードの監視機能、または管理機能はありません。There is no workload monitoring or workload management between SQL Server instances.

  • リソース ガバナーで OLTP ワークロードを管理することは可能ですが、このような種類のクエリは通常短時間で、CPU 上の滞留期間が短いために帯域幅制御を適用できない場合があります。Resource Governor can manage OLTP workloads but these types of queries, which are typically very short in duration, are not always on the CPU long enough to apply bandwidth controls. この結果、CPU 使用率 % として返される統計が偏る可能性があります。This may skew in the statistics returned for CPU usage %.

  • 物理 IO を制御する機能は、ユーザー操作のみに適用され、システム タスクには適用されません。The ability to govern physical IO only applies to user operations and not system tasks. システム タスクには、トランザクション ログへの書き込み操作およびレイジー ライターの IO 操作が含まれます。System tasks include write operations to the transaction log and Lazy Writer IO operations. ほとんどの書き込み操作は通常システム タスクによって実行されるため、リソース ガバナーは主にユーザーの読み取り操作に適用されます。The Resource Govenor applies primarily to user read operations because most write operations are typically performed by system tasks.

  • 内部リソース プールで IO のしきい値を設定することはできません。You cannot set IO thresholds on the internal resource pool.

リソースの概念Resource Concepts

次に示す 3 つの概念は、リソース ガバナーを理解し、使用するための基本となります。The following three concepts are fundamental to understanding and using Resource Governor:

  • リソース プール。Resource pools. リソース プールは、サーバーの物理リソースを表します。A resource pool, represents the physical resources of the server. プールは、 SQL ServerSQL Server インスタンス内部の仮想 SQL ServerSQL Server インスタンスと考えることができます。You can think of a pool as a virtual SQL ServerSQL Server instance inside of a SQL ServerSQL Server instance. SQL ServerSQL Server をインストールすると、2 つのリソース プール (内部と既定) が作成されます。Two resource pools (internal and default) are created when SQL ServerSQL Server is installed. リソース ガバナーでは、ユーザー定義のリソース プールもサポートされます。Resource Governor also supports user-defined resource pools. 詳細については、「 リソース ガバナー リソース プール」を参照してください。For more information, see Resource Governor Resource Pool.

  • ワークロード グループ。Workload groups. ワークロード グループは、分類基準が類似しているセッション要求のコンテナーとして機能します。A workload group serves as a container for session requests that have similar classification criteria. ワークロードは、セッションの全体的な監視を可能にし、セッションのポリシーを定義します。A workload allows for aggregate monitoring of the sessions, and defines policies for the sessions. 各ワークロード グループはリソース プールに存在します。Each workload group is in a resource pool. SQL ServerSQL Server をインストールすると、2 つのワークロード グループ (内部と既定) が作成され、対応するリソース プールにマップされます。Two workload groups (internal and default) are created and mapped to their corresponding resource pools when SQL ServerSQL Server is installed. リソース ガバナーでは、ユーザー定義のワークロード グループもサポートされます。Resource Governor also supports user-defined workload groups. 詳細については、「 リソース ガバナー ワークロード グループ」を参照してください。For more information see, Resource Governor Workload Group.

  • 分類。Classification. 分類プロセスにより、着信セッションがセッションの特性に基づいてワークロード グループに割り当てられます。The Classification process assigns incoming sessions to a workload group based on the characteristics of the session. 分類ロジックは、分類子関数と呼ばれるユーザー定義関数を記述することで調整できます。You can tailor the classification logic by writing a user-defined function, called a classifier function. リソース ガバナーでは、分類規則を実装するための、ユーザー定義の分類関数もサポートされます。Resource Governor also supports a classifier user-defined function for implementing classification rules. 詳細については、「 リソース ガバナーの分類子関数」を参照してください。For more information, see Resource Governor Classifier Function.

注意

リソース ガバナーでは、専用管理者接続 (DAC) が制御されません。Resource Governor does not impose any controls on a dedicated administrator connection (DAC). 内部のワークロード グループおよびリソース プールで実行される DAC クエリは、分類する必要がありません。There is no need to classify DAC queries, which run in the internal workload group and resource pool.

リソース ガバナーのコンテキストでは、上記の概念をコンポーネントとして扱うことができます。In the context of Resource Governor, you can treat the preceding concepts as components. 次の図は、これらのコンポーネントと、データベース エンジン環境でのその相互関係を示しています。The following illustration shows these components and their relationship with each other as they exist in the database engine environment. 処理の観点から見たフローを簡単に示すと次のようになります。From a processing perspective, the simplified flow is as follows:

  • セッション (セッション 1/ n) に着信接続が存在します。There is an incoming connection for a session (Session 1 of n).

  • セッションが分類されます (分類)。The session is classified (Classification).

  • セッション ワークロードがワークロード グループ (グループ 4 など) にルーティングされます。The session workload is routed to a workload group, for example, Group 4.

  • ワークロード グループは、自身が関連付けられているリソース プール (プール 2 など) を使用します。The workload group uses the resource pool it is associated with, for example, Pool 2.

  • リソース プールは、アプリケーション (アプリケーション 3 など) に必要なリソースの提供と制限を行います。The resource pool provides and limits the resources required by the application, for example, Application 3.

リソース ガバナーの機能コンポーネントResource Governor Functional Components

リソース ガバナーのタスクResource Governor Tasks

タスクの説明Task Description トピックTopic
リソース ガバナーを有効にする方法について説明します。Describes how to enable Resource Governor. リソース ガバナーの有効化Enable Resource Governor
リソース ガバナーを無効にする方法について説明します。Describes how to disable Resource Governor. リソース ガバナーの無効化Disable Resource Governor
リソース プールを作成、変更、および削除する方法について説明します。Describes how to create, alter, and drop a resource pool. リソース ガバナー リソース プールResource Governor Resource Pool
ワークロード グループを作成、変更、移動、および削除する方法について説明します。Describes how to create, alter, move, and drop a workload group. リソース ガバナー ワークロード グループResource Governor Workload Group
ユーザー定義の分類子関数を作成およびテストする方法について説明します。Describes how to create and test a classifier user-defined function. リソース ガバナーの分類子関数Resource Governor Classifier Function
テンプレートを使用してリソース ガバナーを構成する方法について説明します。Describes how to configure Resource Governor using a template. テンプレートを使用してリソース ガバナーを構成するConfigure Resource Governor Using a Template
リソース ガバナーのプロパティを表示する方法について説明します。Describes how to view Resource Governor properties. リソース ガバナー プロパティの表示View Resource Governor Properties

参照See Also

データベース エンジンのインスタンス (SQL Server)Database Engine Instances (SQL Server)