This script reindexes all user and system indexes in the
database using the original fillfactor allocated to that
index. It can be executed from the Query Analyzer as stand alone SQL or you could wrap it in a stored procedure.
This script reindexes all user and system indexes in the
database using the original fillfactor allocated to that
index. It can be executed from the Query Analyzer as stand alone SQL or you could wrap it in a stored procedure.
/* This example rebuilds all indexes on all user tables using the original fillfactor value from the sysindexes table. David Wootton 11/01/2002 */ drop table #tmp declare @msg varchar(500) select sysobjects.name, sysobjects.id into #tmp from sysobjects where sysobjects.type = 'U' and sysobjects.name not like 'dt_proper%' order by sysobjects.name declare reindexcursor cursor for select #tmp.name,sysindexes.origfillfactor from sysindexes, #tmp where sysindexes.id = (select #tmp.id from #tmp where #tmp.id=sysindexes.id) group by #tmp.name,sysindexes.origfillfactor having count(#tmp.name) >= 1 order by 1 open reindexcursor declare @tname varchar(100) declare @ffact varchar(10) fetch next from reindexcursor into @tname,@ffact WHILE (@@FETCH_STATUS <> -1) BEGIN IF (@@FETCH_STATUS <> -2) BEGIN print ' ' SELECT @msg = 'DBCC DBREINDEX ('+(@tname ) +', '' '','+(@ffact)+')' print @msg exec (@msg) print ' ' END FETCH NEXT FROM reindexcursor INTO @tname, @ffact END CLOSE reindexcursor DEALLOCATE reindexcursor GO