適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft 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) ストレージの作業表
ハッシュ結合などの操作用の作業ファイル
並べ替えを実行する
物理的な結合
リレーションシップのカーディナリティ
| 差出人 | 〜へ | Relationship |
|---|---|---|
dm_db_session_space_usage.session_id |
dm_exec_sessions.session_id |
一対一 |