SQL Server 2005不明原因的磁盘IO

我有一个在Windows Server 2003 64位上运行的MSSQL 2005实例,导致高排队的磁盘IO(读取,而不是写入),因为我找不到原因。

有些事情:

  • 我确定这是SQL服务器进程。
  • 由于磁盘活动,该框非常没有响应,CPU很低,RAM利用率低。
  • 查看日志,有一些恢复行动完成,但似乎并不是罪魁祸首(我可能是错的,但看起来他们正在完成一个合理的时间)
  • 使用'sp_who2'我没有看到任何可以解释我所看到的大量磁盘IO的事情。
  • 没有备份作业正在运行。
  • SQL Server不试图自动扩展数据文件。

服务器进程可以在这里做什么? 我还可以在哪里findSQL Server正在试图做的事情?

谢谢,丹

  • 更新:重新启动服务器进程没有帮助。 无论是在重新启动的待续简历。

  • 更新:使用SQL Server Profiler的进一步分析表明,这是我自己的查询之一。 频繁轮询的表上的索引是98%碎片,显然导致大量的磁盘活动。

  • 更新:重build索引的窍门。 令人难以置信的是,一台<100K的排桌子可能会在一台漂亮的机器上造成这种麻烦。

那么我会尝试:

  1. 整理您的硬盘(s)
  2. 运行DBCC CHECKALLOC和其他工具来检查数据库和重新索引表
  3. 虽然我认为这是不太可能检查您的逻辑磁盘configuration

如果这些逻辑卷遇到大量的并发I / O请求,则会发生磁盘颠簸,因为超级卷是从同一组基础物理磁盘创build的。 为避免出现磁盘颠簸的情况,应注意创build可能在隔离的逻辑卷和物理磁盘上同时访问的分区。