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."


About The Author

Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of DotNetCurry, DNC Magazine for Developers, SQLServerCurry and DevCurry. He has also authored a couple of books 51 Recipes using jQuery with ASP.NET Controls and a new one recently at The Absolutely Awesome jQuery CookBook.

Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.

Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook

1 comment:

Anonymous said...

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