sql server中的任何脚本来查找临时表使用的空间+在tempdb中创建该临时表的数据库名称?
我的 tempDb 的大小已增长到 100 GB,我无法恢复空间并且不确定是什么占用了这么多空间。
谢谢你的帮助。
sql server中的任何脚本来查找临时表使用的空间+在tempdb中创建该临时表的数据库名称?
我的 tempDb 的大小已增长到 100 GB,我无法恢复空间并且不确定是什么占用了这么多空间。
谢谢你的帮助。
临时表总是在 TempDb 中创建。但是,TempDb 的大小不必仅取决于临时表。TempDb 以多种方式使用
因此,很明显它正在用于各种 SQL 操作,因此大小也会由于其他原因而增长
您可以使用以下查询检查导致 TempDb 大小增加的原因
SELECT
SUM (user_object_reserved_page_count)*8 as usr_obj_kb,
SUM (internal_object_reserved_page_count)*8 as internal_obj_kb,
SUM (version_store_reserved_page_count)*8 as version_store_kb,
SUM (unallocated_extent_page_count)*8 as freespace_kb,
SUM (mixed_extent_page_count)*8 as mixedextent_kb
FROM sys.dm_db_file_space_usage
如果上面的查询显示,
基于此,您可以配置 TempDb 文件大小。我最近写了一篇关于 TempDB 配置最佳实践的文章。你可以在这里阅读