sys.dm_db_session_space_usage(Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric SQL Database

セッションの存続期間中に各セッションが tempdb データベースに割り当ておよび割り当てたページ数を返します。

Note

このデータをAzure Synapse Analyticsで取得するには、sys.dm_pdw_nodes_db_session_space_usageという名前をご利用ください。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データの種類 説明
session_id smallint セッション ID。

session_idsys.dm_exec_sessionsのsession_idにマップされます。
database_id smallint データベース ID。

Azure SQL Database では、値は 1 つのデータベースまたは Elastic Pool 内で一意ですが、論理サーバー内では一意ではありません。
user_objects_alloc_page_count bigint このセッションのライフ期間中にユーザーオブジェクトに予約または割り当てられたページ数。
user_objects_dealloc_page_count bigint このセッションの存続期間中に、ユーザーオブジェクトに割り当てられ、予約されなくなったページ数。
internal_objects_alloc_page_count bigint このセッションの存続期間中に内部オブジェクトに予約または割り当てられたページ数。
internal_objects_dealloc_page_count bigint このセッションの存続期間中に、内部オブジェクトに割り当てられ、もはや予約されなくなったページ数。
user_objects_deferred_dealloc_page_count bigint このセッションの存続期間中に、遅延解除を待機したページ数。
pdw_node_id int 適用対象:Azure Synapse Analytics

このディストリビューションがオンになっているノードの識別子。

Permissions

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database の Basic、S0、S1 サービス対象、および Elastic Pool のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、または ##MS_ServerStateReader##サーバー ロールのメンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバー VIEW PERFORMANCE STATE権限が必要です。

注釈

IAMページは、このビューが報告する割り当てや解除カウントには含まれていません。

ページカウンターはセッション開始時にゼロに初期化され、セッションのライフタイム中に増加します。 カウンターは、セッション中に既に完了したタスクに対して割り当てられたまたは解除されたページ数の合計数を追跡します。 カウンターはタスクが終了した時だけ更新されます。 それは実行中のタスクを反映していません。

ディファーデレーションが使われると、 user_objects_deferred_dealloc_page_count 列はバックグラウンドプロセスによって後日の解除にキューに入ったページを報告します。 待ち時間が長い場合、実際のディール割り当ては遅れることがあります。 その結果、user_objects_alloc_page_count - user_objects_dealloc_page_count - user_objects_deferred_dealloc_page_count計算で報告されるユーザーセッションtempdb空間使用量は、実際の使用量よりも一時的に低くなることがあります。

セッションでは、同時に複数の要求をアクティブにすることができます。 リクエストが並列クエリであれば、複数のスレッドやタスクを起動させることができます。

セッション、要求、タスクの詳細については、「 sys.dm_exec_sessions (Transact-SQL)、 sys.dm_exec_requests (Transact-SQL)、および sys.dm_os_tasks (Transact-SQL)」を参照してください。

ユーザー オブジェクト

ユーザーオブジェクトページカウンターには以下のオブジェクトが含まれます:

  • ユーザー定義テーブルとインデックス

  • システム テーブルとインデックス

  • グローバル一時テーブルとインデックス

  • ローカルの一時テーブルとインデックス

  • テーブル変数

  • テーブル値関数で返されるテーブル

内部オブジェクト

内部オブジェクトページカウンターには以下のオブジェクトが含まれます:

  • カーソル操作またはスプール操作および一時ラージ・オブジェクト (LOB) ストレージの作業表

  • ハッシュ結合などの操作用の作業ファイル

  • 並べ替えを実行する

物理的な結合

sys.dm_db_session_space_usageの物理結合の図。

リレーションシップのカーディナリティ

差出人 〜へ Relationship
dm_db_session_space_usage.session_id dm_exec_sessions.session_id 一対一