Unallocate unused space in tempdb sql server

浪子不回头ぞ 提交于 2020-01-07 04:16:05

问题


any script in sql server to find space used by temporary tables + the database name where that temp table was created in tempdb?

The size of my tempDb has grown up to 100 gb and i am not able to recover the space and am unsure what is occupying so much of space.

Thanks for any help.


回答1:


Temporary tables always gets created in TempDb. However, it is not necessary that size of TempDb is only due to temporary tables. TempDb is used in various ways

  1. Internal objects (Sort & spool, CTE, index rebuild, hash join etc)
  2. User objects (Temporary table, table variables)
  3. Version store (AFTER/INSTEAD OF triggers, MARS)

So, as it is clear that it is being use in various SQL operations so size can grow due to other reasons also

You can check what is causing TempDb to grow its size with below query

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

if above query shows,

  • Higher number of user objects then it means that there is more usage of Temp tables , cursors or temp variables
  • Higher number of internal objects indicates that Query plan is using a lot of database. Ex: sorting, Group by etc.
  • Higher number of version stores shows Long running transaction or high transaction throughput

based on that you can configure TempDb file size. I've written an article recently about TempDB configuration best practices. You can read that here




回答2:


Perhaps you can use following SQL command on temp db files seperately

DBCC SHRINKFILE

Please refer to https://support.microsoft.com/en-us/kb/307487 for more information



来源:https://stackoverflow.com/questions/32562239/unallocate-unused-space-in-tempdb-sql-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!