从我所了解的系统数据库是用来存放临时表,中间结果等临时信息的。
在我的一个数据库实例中,我有一个似乎非常大(30GB)的tempdb。 这个数据库还没有被修改(如在mdf文件的“上次修改date”)一个星期以上。 临时分贝在这段时间内保持这么大是否正常? 在我看来,它应该经常更新,并返回它使用相当快的空间…
我在这里的方式或SQL Server做一些奇怪的事情吗?
仅供参考:这是一个SharePoint 2010数据库,不知道这是否有所作为。
TempDB不会AUTOSHRINK,你不能将TempDB设置为AUTOSHRINK。 如果你的TempDB增长到了30GB,它可能会增长到这个规模,所以如果你把它重新调整到更小,它可能会再次增长到这个规模。
查看以下链接,获取有关configurationTempDB的一些build议:
优化TempDB性能
TempDB容量规划
除非您告诉他们,否则SQL Server数据库文件不会自动缩小。 (我不会推荐它,因为你会从重复的增长/缩小中获得大量的磁盘碎片。)换句话说,找出你的tempdb喜欢多大,并为此计划。 将数据文件设置为大而精(因为在SQL Server启动时从头开始重新创build)通常是推荐的方法。
尽pipe文件大小被列为30GB,但它们可能会被填充空白空间而实际上不包含30GB的文件大小。 TEMPDB在某些时候会增长到30GB,因为它需要一些特定的查询空间。
我build议您将TEMPDB文件大小设置为30GB – 这样会在您重新启动SQL SERVER的情况下为您预设TEMPDB,因为每次SQL Server重新启动时都会重新创buildTEMPDB。 通过预先设定TEMPDB的大小,您将避免在首先增长的活动期间再次涉及到数据库自动增长的任何头重脚轻。
第4节中的这个页面http://sqlserverpedia.com/wiki/TempDB将会介绍预调整temp temp。