【发布时间】:2017-03-08 17:26:18
【问题描述】:
今天我在临时数据库上有非常特殊的情况。我的临时数据库有 10 个数据文件,所有数据文件都已满且数据库已锁定。 我缩小了临时数据库、文件和日志文件,但它没有用。 此外,我关闭了 Sql 服务器服务并再次打开,但临时数据库大小仍然已满。 只有当我将每个数据文件的初始大小更改为如此小的值时,我才解决了问题。 有人可以解释为什么重新启动后我的临时数据库没有释放空间,而且临时数据库从来没有这么大。一直都是60G左右。 我怎样才能找到我遇到这个问题的原因?
【问题讨论】:
-
我的问题是为什么你的 tempdb 这么大?它会再次变得那么大吗?至于文件大小的问题,要减小文件的大小,您还需要收缩文件。但是,如果大小将再次增加到该大小,则缩小 tempdb 会适得其反,因为增加文件大小是一项昂贵的操作。如果这是一次性数据移动的结果,那应该没什么大不了的。
-
我们的交易量如此之多,以至于交易量不断增加。当我改变每个数据文件的初始大小后,它停止增加。
-
那么你还要再做这么多的交易吗?您对此还有疑问吗?
-
我的问题通常在重新启动服务器服务临时数据库后应该释放分配的空间,但在重新启动后它不是。还是满了。
-
而且我们总是需要像今天这样的事务,批量插入。我不知道如何管理这个?实际上为什么像今天一样增长临时数据库,我们每天都在做今天的交易,但今天发生的变化一切看起来都很正常。
标签: sql-server sql-server-2016 tempdb