如何通过脚本获取有关SQL Server 2005中索引碎片的信息

时间:2010-12-21 13:56:41

标签: sql-server indexing

如何通过脚本获取有关SQL Server 2005中索引碎片的信息

2 个答案:

答案 0 :(得分:1)

你可以找到它here

答案 1 :(得分:0)

我不知道您的情况,但如果您在实时数据库上运行这种脚本,则在运行时可能会遇到令人讨厌的性能问题。如果某些指标严重分散,让我们说超过40-50%,那么它就会成为重建它的更好选择。
但你当然可以使这个脚本像:

DECLARE cur_idx CURSOR
SELECT OBJECT_NAME(OBJECT_ID)
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, N'LIMITED')
WHERE avg_fragmentation_in_percent > @your_limit_for_fragmentation

OPEN CURSOR cur_idx

FETCH NEXT FROM cur_idx INTO @idx_name
WHILE @@FETCHSTATUS = 0 BEGIN
   --create dynamic sql statement 
END

- 关闭光标并清理