正确设置 tempdb 以避免可用空间发生重大变化

正确设置 tempdb 以避免可用空间发生重大变化

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

计算机上的 SQL 实例 MSSQLSERVER 中的数据库 tempdb sql服务器经历了自由空间的重大变化

自从安装 SharePoint 2007 SP2 以来,这种情况就一直发生,并且发生在半夜,可能是在 SharePoint 执行搜索索引任务时。

目前 tempdb 的大小为 313.88 MB,可用空间为 49.72 MB。我被告知警报的阈值是 45%。我们使用的是 SQL Server 2005 64 位。

我该如何解决这个问题?tempdb 是否应该以不同的方式配置?我无意中扮演了这个 DBA 的角色!谢谢...

答案1

一个快速的解决方案是使 tempdb 足够大以避免波动。

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

不用太深入地了解,磁盘空间很便宜,并且拥有更大的 tempdb 也没有什么坏处。

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

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

答案2

tempdb 有很多用途,例如:

  • Tempdb 表、表变量
  • 哈希匹配
  • 排序操作
  • 行版本
  • 检查数据库
  • 如果使用 SORT_IN_TEMPDB 选项,则重建索引

预计可用空间会发生变化,您可以相应地调整 tempdb 的大小,使其至少达到绕过警报所需的最大值的两倍。我还会保留自动增长以防万一,您不希望出现 tempdb 空间不足的情况。

答案3

数据库是否已打开自动收缩?如果是,请将其关闭。它将增长到所需的最大大小并保持在该大小。您可能还想查看它增长的量。由于不知道我们讨论的是哪种大小以及您的服务器规格是什么,我不想就增长增量给出任何具体建议。

相关内容