一次性整理某个数据库的报有索引碎片(摘自CSDN网友)
http://topic.csdn.net/t/20050329/11/3890380.htmlset nocount on
declare @s_table varchar(50),@s_index varchar(50)
create table #test(
index_name varchar(100),
index_description varchar(500),
index_keys varchar(500)
)
insert into #test
exec sp_msforeachtable 'sp_helpindex ''?'''
declare c_index cursor for
select index_name from #test
open c_index
fetch next from c_index into @s_index
while(@@fetch_status = 0)
begin
select @s_table = b.name
from sysobjects a,sysobjects b
where a.id = object_id(@s_index) and
a.parent_obj = b.id
dbcc indexdefrag(0,@s_table,@s_index) WITH NO_INFOMSGS
fetch next from c_index into @s_index
end
close c_index
deallocate c_index