更正tempdb的设置以避免可用空间发生重大更改

每两到三天我们就会得到以下SCOM错误:

计算机sqlserver上的SQL实例MSSQLSERVER中的数据库tempdb在空闲空间中经历了重大更改

自安装SharePoint 2007 SP2以来,这种情况一直在发生,可能在SharePoint执行search索引任务时发生。

目前,tempdb的大小为313.88 MB,可用空间为49.72 MB。 我被告知警戒的门槛是45%。 我们正在使用SQL Server 2005 64位。

我怎样才能解决这个问题,如果tempdb的configuration不同? 我是这个意外的DBA! 谢谢…

一个快速的解决办法是使tempdb足够大,以避免波动。

  • 将临时数据库调整为1GB数据,500 MB日志(或2GB / 1GB)
  • 停止SQL Server
  • 删除tempdb LDF和LDF文件
  • 重新启动SQL Server

不要太深,磁盘空间便宜,有一个更大的临时数据库没有坏处。

随着数据的增长,您也将开始使用更多的tempdb。

此解决scheme将有助于避免物理文件碎片和自动文件增长问题。

tempdb用于很多事情,命名一些:

  • Tempdb表,表variables
  • 哈希匹配
  • sorting操作
  • 行版本
  • DBCC CHECKDB
  • 如果使用SORT_IN_TEMPDB选项,则重build索引

预计可用空间将发生变化,您可以相应地调整tempdb的大小,使其至less具有可能需要的最大值的两倍以避开警报。 为了以防万一,我不希望处于tempdb耗尽空间的情况下。

数据库是否打开了自动收缩? 如果是的话就把它关掉。 它将增长到所需的最大尺寸,并留在那里。 您可能也想要查看它正在增长的数量。 不知道我们正在谈论的是什么样的规模,以及你的服务器规格是什么,我不想给出关于增长增长的任何具体build议。