为什么我无法对 SQL 2008 .mdf 文件进行碎片整理?

为什么我无法对 SQL 2008 .mdf 文件进行碎片整理?

我正在对一个碎片严重(95%)的驱动器进行碎片整理,该驱动器上存放着大型(35 GB)SQL Server 2008 .mdf 文件。在碎片整理和查看异常报告后,我发现我最感兴趣的生产 .mdf 文件无法进行碎片整理。我最初认为这是因为 MSSQL 对该文件有独占锁,所以我将其分离并重试。没有运气 - 这个特定的 .mdf 文件无法进行碎片整理。我错过了什么?大多数在线参考资料都建议我应该能够对 .mdf 文件进行碎片整理

注意:是的,我说的是文件碎片整理,而不是索引碎片整理,后者已经在例行进行,之后我将重新运行。

谢谢!我遗漏了什么?

答案1

我错过了什么?

没什么,通常应该对其进行碎片整理。鉴于内容无论如何都是完全随机访问的,对其进行碎片整理毫无意义。更重要的是要有一个具有 64k 节点(标准为 4)的 NTFS 文件系统,并且正确对齐(因为它是 RAID 驱动器),以避免分割 IO。

但它应该对其进行碎片整理。

答案2

LesterDove,问题可能是您的 .mdf 文件大小:您的磁盘必须有空间来重新分配 35GB 的文件,以便对其进行碎片整理。

您没有提到您使用什么工具来整理磁盘碎片,我猜是标准磁盘碎片整理程序。尝试使用另一个允许您整理可用空间的碎片整理工具(我使用 Piriform 的 Defraggler),以便创建足够的空间来将 .mdf 整理为连续文件。

相关内容