sys.dm_db_session_space_usage (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
返回每个会话为数据库分配和释放的页数。
注意
此视图仅适用于 tempdb 数据库。
注意
若要从 Azure Synapse Analytics 或 Analytics 平台系统(PDW)调用此名称,请使用名称 sys.dm_pdw_nodes_db_session_space_usage
。 Azure Synapse Analytics 中的无服务器 SQL 池不支持此语法。
列名称 | 数据类型 | 说明 |
---|---|---|
session_id | smallint | 会话 ID。 session_id映射到sys.dm_exec_sessions中的session_id。 |
database_id | smallint | 数据库 ID。 在 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 | 标记为延迟解除分配的页数。 注意: SQL Server 2012(11.x)和 SQL Server 2014(12.x)的服务包中引入。 |
pdw_node_id | int | 适用于:Azure Synapse Analytics、Analytics Platform System (PDW) 此分发所在节点的标识符。 |
权限
对于 SQL Server 和 SQL 托管实例,需要 VIEW SERVER STATE
权限。
在SQL 数据库基本、S0 和 S1 服务目标以及弹性池中的数据库、服务器管理员帐户、Microsoft Entra 管理员帐户或服务器角色的成员##MS_ServerStateReader##
身份是必需的。 对于所有其他 SQL 数据库服务目标,需要数据库的 VIEW DATABASE STATE
权限或 ##MS_ServerStateReader##
服务器角色中的成员身份。
SQL Server 2022 及更高版本的权限
要求对服务器具有 VIEW SERVER PERFORMANCE STATE 权限。
注解
由该视图报告的分配或释放的计数不包括 IAM 页。
在会话开始时,页计数器被初始化为零 (0)。 计数器跟踪为会话中已经完成的任务分配或释放的总页数。 仅当任务结束时,该计数器才更新;它们不反映正在运行的任务。
会话可同时包含多个活动请求。 如果是并行查询,则请求可启动多个线程和任务。
有关会话、请求和任务的详细信息,请参阅sys.dm_exec_sessions(Transact-SQL)、sys.dm_exec_requests(Transact-SQL)和sys.dm_os_tasks(Transact-SQL)。
用户对象
用户对象页计数器中包括下列对象:
用户定义的表和索引
系统表和索引
全局临时表和索引
局部临时表和索引
表变量
表值函数中返回的表
内部对象
内部对象仅位于 tempdb
. 内部对象页计数器中包括下列对象:
用于游标或假脱机操作以及临时大型对象 (LOB) 存储的工作表
用于哈希联接等操作的工作文件
排序段
物理联接
关系基数
源 | 功能 | 关系 |
---|---|---|
dm_db_session_space_usage .session_id |
dm_exec_sessions .session_id |
一对一 |
后续步骤
动态管理视图和函数 (Transact-SQL)
与数据库有关的动态管理视图 (Transact-SQL)
sys.dm_exec_sessions (Transact-SQL)
sys.dm_exec_requests (Transact-SQL)
sys.dm_os_tasks (Transact-SQL)
sys.dm_db_task_space_usage (Transact-SQL)
sys.dm_db_file_space_usage (Transact-SQL)