2010-12-21 86 views

回答

1

,以获取有关指数的碎片信息在SQL Server 2005中你可以找到它here

+0

我想脚本列表使用数据库转移到所有的指数,我可以让一个脚本来重建或立即重组它们。 – Haid 2010-12-21 14:27:32

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 

--close光标和清理