June 02, 2008

Rebuild all indexes of all tables in SQL 2005




In order to rebuild all index on your table, use the DBCC DBREINDEX. DBCC DBREINDEX rebuilds one or more indexes for a table in the specified database.

The syntax for DBCC DBREINDEX is as follows:

DBCC DBREINDEX
(
'table_name'
[ , 'index_name' [ , fillfactor ] ]
)
[ WITH NO_INFOMSGS ]


where table_name is the table for which the indexes are to rebuild, index_name is the index to be rebuild and fillfactor is % of space on each index page which will be used to store data when the index is rebuilt.

QUERY to rebuild all indexes

USE DBNAME
GO
EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"
GO

Note: DBCC DBREINDEX has been deprecated in SQL 2005. Microsoft says "This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use ALTER INDEX instead."


Did you like this post?
kick it on DotNetKicks.com
subscribe via rss subscribe via e-mail
print this post follow me on twitter


About The Author

Suprotim Agarwal, ASP.NET Architecture MVP works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He has also written an EBook 51 Recipes using jQuery with ASP.NET Controls.

Follow him on twitter @suprotimagarwal

 
  Feedback:

comments

1 Response to "Rebuild all indexes of all tables in SQL 2005"
  1. Anonymous said...
    March 9, 2011 at 3:09 AM

    It is deprecated. And you will have better performance with ALTER INDEX

 

Copyright © 2009-2014 All Rights Reserved for SQLServerCurry.com by Suprotim Agarwal | Terms and Conditions