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