sys.dm_db_task_space_usage

返回数据库任务所执行的页分配和释放活动。

注意注意

该视图只适用于 tempdb 数据库

列名

数据类型

说明

session_id

smallint

会话 ID。

request_id

int

会话内的请求 ID。

请求也称为批,可以包含一个或多个查询。一个会话可以同时具有多个活动请求。如果使用并行执行计划,则请求中的每个查询可以启动多个线程(任务)。

exec_context_id

int

任务的执行上下文 ID。有关详细信息,请参阅 sys.dm_os_tasks (Transact-SQL)

database_id

smallint

数据库 ID。

user_objects_alloc_page_count

bigint

此任务为用户对象保留或分配的页数。

user_objects_dealloc_page_count

bigint

此任务为用户对象释放并不再保留的页数。

internal_objects_alloc_page_count

bigint

此任务为内部对象保留或分配的页数。

internal_objects_dealloc_page_count

bigint

此任务为内部对象释放并不再保留的页数。

权限

需要对服务器拥有 VIEW SERVER STATE 权限。

注释

此视图所报告的任何页计数均不包括 IAM 页。

在请求开始时,页计数器被初始化为零 (0)。在请求完成时,这些值将在会话级别聚合。有关详细信息,请参阅 sys.dm_db_session_space_usage

工作表缓存、临时表缓存和延迟的删除操作会影响在指定任务中分配和释放的页数。

用户对象

用户对象页计数器中包括下列对象:

  • 用户定义的表和索引

  • 系统表和索引

  • 全局临时表和索引

  • 局部临时表和索引

  • 表变量

  • 表值函数中返回的表

内部对象

内部对象只包含在 tempdb 中。内部对象页计数器中包括下列对象:

  • 用于游标或假脱机操作以及临时大型对象 (LOB) 存储的工作表

  • 用于哈希联接等操作的工作文件

  • 排序段

物理联接

sys.dm_db_session_task_usage 的物理联接

关系基数

关系

dm_db_task_space_usage.request_id

dm_exec_requests.request_id

一对一

dm_db_task_space_usage.session_id

dm_exec_requests.session_id

一对一

示例

有关使用 sys.dm_db_task_space_usage 视图的示例,请参阅解决 tempdb 中磁盘空间不足的问题