MSSQL2005数据库维护时挂起

MSSQL2005数据库维护时挂起

我们的数据库服务器有一个每晚运行的维护计划:

  1. 备份数据库和日志(最多 10-20GB)
  2. 检查数据库完整性
  3. 重建索引
  4. 更新统计信息

通常情况下,每个数据库的执行时间不到一分钟。然而,上个月有两次数据库被冻结了 3 个小时。DBCC 语句花了 2 个小时才完成,但没有任何错误。这段时间我们的数据库一直在拒绝连接。

除了这两起孤立事件外,该数据库从未出现过任何问题。

有人能指出什么可能导致这个问题吗?

答案1

尼古拉斯是对的,你通常(总有例外)不需要每晚都进行索引重建(特别是如果你有标准版,它不允许您进行在线重建)。

您可能想要放弃维护计划,尤其是索引碎片整理和统计重建方面。我会使用一个脚本来查看索引的碎片级别并决定是否应该重建。Michelle Ufford (@SQLFool) 有一个出色的脚本,它允许您执行夜间作业来检查碎片级别,并且只重建满足特定碎片级别(由您设置)的索引。您可以在此处找到该脚本:http://sqlfool.com/2010/04/index-defrag-script-v4-0/。此脚本还将根据需要更新统计数据。还有很多其他类似的脚本。

HTH,丹

答案2

听起来这可能是数据库文件突然增加的原因?您是否检查过 SQL Server Error_Log,只是想知道是否可以在每晚维护窗口之前缩小日志?

答案3

回答我自己的问题:

运行离线 chkdsk 后,一周后该问题再次出现,我们将其诊断为硬件故障或低级操作系统问题,并向我们的 ISP 请求一台新服务器。

在我们将完全相同的数据库恢复到新服务器后,它已经完美运行了 4 个月,唯一的区别是硬件和操作系统的安装。结案了。

相关内容