sys.dm_db_session_space_usage

返回每个会话为数据库分配和释放的页数。

注意注意

该视图只适用于 tempdb 数据库

列名

数据类型

说明

session_id

smallint

会话 ID。

session_id 映射到 sys.dm_exec_sessions 中的 session_id

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_exec_sessions (Transact-SQL)sys.dm_exec_requests (Transact-SQL)sys.dm_os_tasks (Transact-SQL)

用户对象

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

  • 用户定义的表和索引

  • 系统表和索引

  • 全局临时表和索引

  • 局部临时表和索引

  • 表变量

  • 表值函数中返回的表

内部对象

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

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

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

  • 排序段

物理联接

sys.dm_db_session_space_usage 的物理联接

关系基数

关系

dm_db_session_space_usage.session_id

dm_exec_sessions.session_id

一对一

示例

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