SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server 2025 のリソースガバナーの機能強化

leave a comment

SQL Server では、リソース ガバナー というクエリで利用可能なリソースを制御するための機能があります。

SQL Server 2025 では、このリソースガバナーの機能が強化されていますので、情報をまとめておきたいと思います。

エディションの制限が緩和され Standard Edition で利用可能に

SQL Server 2022 までは、リソースガバナーの機能は Enterprise Edition の機能となっていました。
SQL Server 2025 では、Standard Edition でも利用することが可能となり、エディションの機能制限が緩和されています。

以下は Scalability and performance の内容となりますが、Standard で Yes となっていますね。

image

 

リソースガバナーによるリソース制御が、Standard Edition でも可能となったことで、次のような情報を Standard Edition でも活用することができるようになります。

SQL Server 2022 までの Standard Edition ではリソースガバナーをサポートしていなかったため、これらの情報には「internal」しか含まれておらず、システムワークロードの向けの情報のみ確認ができていました。

SQL Server 2025 からはリソースガバナーが使用できるようになったことで「default」が追加され、ユーザーワークロードのリソース使用状況を容易に確認できるようになっています。(リソースガバナーを有効にしなくてもこれらの情報を使用することができます)

 

Standard Edition のその他の制限緩和

SQL Server 2025 の Standard Edition の制限の緩和については 新機能の Standard edition に記載されています。

Standard edition

  • Increased capacity limits for SQL Server 2025 (17.x) Standard edition:

    • Maximum compute capacity used by a single instance: limited to lesser of 4 sockets or 32 cores.
    • Maximum memory for buffer pool per instance of SQL Server 2025 (17.x): 256 GB.
  • Resource governor is now available in the Standard and Standard Developer editions, with the same functionality as in the Enterprise edition.

リソース上限の緩和

制限緩和の中には使用可能なリソース上限の緩和も含まれています。

  • CPU: 4 ソケット or 16 コア -> 4 ソケット or 32 コア
  • メモリ: 128 GB -> 256 GB

リソースガバナーが解放された要因の一つとして使用可能なリソース上限が増えたこともあるかもしれませんね。

 

Standard Edition の開発版の提供

SStandard Edition の緩和については「開発版の提供」もあります。

従来まで SQL Server では開発 / 評価目的で使用可能なエディションとして「Developer Edition」「Evaluation Edition」が提供されていましたが、これらのエディションは「Enterprise Edition 相当」の機能の実装となっていました。

そのため、上述のエディションを使用すると次のような考慮が別途必要となっていました。

  • Standard Edition でしか使用できない機能 (例: 基本的な可用性グループ) の利用
    • 対応例: Visual Studio サブスクリプション等で Standard Edition を入手する必要があった
  • 本番環境と開発環境のエディションの統一により、使用可能な機能を同一にそろえる
    • 対応例: 開発環境で Developer Edition を使用すると利用可能な機能が多いため、sys.dm_db_persisted_sku_features でエディションに依存する機能を使用していないかを確認

SQL Server 2025 では、Developer Edition が「Enterprise Developer」「Standard Developer」として提供されるようになり「Standard Edition の開発版」が使用できるようになりました。

Enterprise Developer, Standard Developer, and Evaluation editions

For features supported by Enterprise Developer and Evaluation editions, see features listed for Enterprise edition in the following table. For features supported by Standard Developer edition, see the features listed for Standard edition.

実際のインストーラーの画面が以下になりますが、「無償のエディション」の選択肢が増えていることが確認できます。

image

エディションの追加により、Standard Edition を使用する本番環境と同一の機能を持つ開発環境を Developer Edition で構築することが可能となりました。

 

リソースガバナーによる tempdb の制限

従来までのリソースガバナーでは CPU / ワークスペースメモリ / IOPS の制限ができていました。

SQL Server 2025 からは tempdb の制限が可能となります。

リソースガバナーの設定として「GROUP_MAX_TEMPDB_DATA_MB」「GROUP_MAX_TEMPDB_DATA_PERCENT」の 二つの設定が追加されました。

ワークロードグループに対して、指定した tempdb の上限を超えて利用しようとすると次のエラーが発生しクエリの実行が停止されます。

メッセージ 1138、レベル 17、状態 1、行 8
ワークロード グループ ‘TempDBLimitGroup’、group_id 256 に対して設定された上限数を超えてしまうため、データベース ‘tempdb’ に新しいページを割り当てることができませんでした。.

この機能により、ワークロードグループ内で使用できる tempdb のサイズを制限することができます。

  • 一時テーブルに格納可能なデータサイズ
  • ソート / ハッシュ結合で tempdb を使用する必要があった場合に利用可能なサイズ

これらの制御を行うことができるようになりました。

レポート系のクエリで過度に tempdb を使用されることを防ぐといった用での活用が期待されますね。

 

制限はサイズ / パーセントの二つの方法で指定することができますが、パーセントで指定する機会は少ないような気がしています。

Percent limit configuration にパーセントで指定する場合の設定が記載されていますが、パーセントの指定では「ファイルの最大サイズを明示的に指定」する必要があります。(自動拡張は有効でも問題ありません)

サイズベースの場合は、tempdb のファイルの最大サイズを指定する必要はなく無制限の設定が可能です。

tempdb のファイルサイズですが「最大サイズを指定せず、自動拡張を設定」にしていることが多いと思いますので、パーセントベースの設定ではなく、サイズベースの設定を使用する機会が多いのではないでしょうか。

tempdb の制限が追加されたことで DMV / システムビューの項目も拡張されているのですが、個人的には sys.dm_resource_governor_workload_groups に追加された情報は活用できそうだと考えています。

この DMV では「peak_tempdb_data_space_kb」という項目が追加されているのですが、ワークロードグループ内の全セッションを対象として「tempdb が使用された最大サイズ」を確認することができます。

サーバーの起動以降の状況を示すものとなり、長期間実行されているインスタンスではクエリストアから情報を確認したほうが良いかもしれませんが、tempdb が最大でどの程度使用されたかを容易に判断する項目としての活用を期待しています。

Share

Written by Masayuki.Ozawa

12月 9th, 2025 at 9:52 am

Leave a Reply