MSSQL Server 2005 tempdb问题

时间:2009-04-23 23:00:30

标签: sql-server-2005

所以我有一个很奇怪的数据库。我正在观察服务器上的所有活动,而tempdb正在不断增长。它在大约45分钟内增长了30gb。我一直在检查tempdb中分配的空间,总是大约8mb。我知道它不需要它分配的所有空间,我已经看到1个事务发生在tempdb基本上是空的并且它仍然在增长。 在我看来,引擎而不是使用以前分配的空间而是选择使用更多的硬盘空间。 我注意到我们的tempdb今天早些时候非常大并重新启动了SQL,这使得tempdb的大小缩小到了一个很好的大小,但从那以后它一直在增长,并且不断重新启动SQL不是一个选项,因为这是一个生产环境。我在这台服务器上的hd空间有限,所以我需要将tempdb保持在合理的大小。

1 个答案:

答案 0 :(得分:2)

您是否对正在运行的脚本进行了分析?您是否使用过探查器来确定SQL活动?

我的第一个想法是使用临时表(#table)和可能的笛卡尔积连接的脚本?

请注意,在SQL Server启动时会重新创建tempdb,这就是为什么在重新启动服务时会截断它的原因。