tempdb 增长和收缩 tempdb

Art*_*sov 6 sql-server tempdb

我是一名 DBA,对从 UNIX/Informix 转过来的 SQL Server 相当陌生。

我有一个关于 tempdb 增长的问题:

从我在常规数据库上看到的情况来看,如果我从一个 10 GB 的数据库开始,然后将一堆数据放入其中以使其成为 100 GB,然后从中删除 50 GB 我必须执行收缩才能回收硬盘上的空间。直到我将空间分配给数据库

tempdb 是如何工作的?

如果初始大小为 10 GB,然后某个查询将 tempdb 增长到 100 GB,然后终止,该空间是否可用于未来的 tempdb 查询/临时表等......?

或者它是否将空间释放给操作系统?

Han*_*non 7

每当实例重新启动时,都会重新创建 Tempdb。在启动时,tempdb 以系统目录中指定的大小创建。这意味着如果您将 tempdb 定义为 10GB,并且它随着时间的推移增长到 100GB,那么您重新启动服务器,tempdb 现在将再次变为 10GB。

关于收缩的问题充满了不好的内涵。有关对此的讨论,请参阅此问题