適用於:SQL Server
Azure SQL 資料庫
Azure SQL 受控執行個體
Azure Synapse Analytics
Microsoft Fabric 中的 SQL 資料庫
回傳每個會話在資料庫中分配及分配的頁面數量,該會話 tempdb 在該會話的生命週期中。
備註
要在 Azure Synapse Analytics 中取得這些資料,請使用名稱 sys.dm_pdw_nodes_db_session_space_usage。 Azure Synapse Analytics 中的無伺服器 SQL 集區不支援此語法。
| 欄位名稱 | 資料類型 | 說明 |
|---|---|---|
session_id |
smallint | 會話編號。 session_id對應至sys.dm_exec_sessions中的session_id。 |
database_id |
smallint | 資料庫識別碼。 在 Azure SQL 資料庫中,這些值在單一資料庫或彈性集區內是唯一的,但在邏輯伺服器內則不是唯一的。 |
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 此散發節點的標識碼。 |
許可
在 SQL Server 和 SQL 受控實例上,需要 VIEW SERVER STATE 許可權。
在 SQL Database Basic、S0和 S1 服務目標上,以及 彈性集區中的資料庫、伺服器管理員 帳戶、Microsoft Entra admin 帳戶,或 ##MS_ServerStateReader##伺服器角色 的成員資格。 在所有其他 SQL Database 服務目標上,需要資料庫 VIEW DATABASE STATE 許可權,或需要 ##MS_ServerStateReader## 伺服器角色的成員資格。
SQL Server 2022 和更新版本的許可權
需要 VIEW 伺服器上的 SERVER 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 |
一對一 |