【发布时间】:2009-07-13 11:29:25
【问题描述】:
我正在尝试减少在 SQL Server 2005 上运行的数据库的所有索引中的碎片。 目前我正在尝试将 ALTER INDEX 与 sp_MSforeachtable 结合使用,以将其应用于所有表的所有索引:
sp_MSforeachtable "ALTER INDEX ALL ON ? REBUILD;"
但由于某种原因,这似乎并不总是有效? 如果我对单个索引或单个表的所有索引尝试它,那么碎片就会被清除,似乎只是当我将它应用于整个数据库时才会遇到问题。
以前我可能使用过 DBCC DBREINDEX,但 BOL 声明它将在 SQL Server 的下一版本中删除,所以我不想使用它。
谁能给我任何关于清理数据库中所有索引的最佳方法的建议?
谢谢
【问题讨论】:
标签: sql sql-server database sql-server-2005