DECLARE @TABLE NVARCHAR(80) DECLARE @COMMAND NVARCHAR(MAX) DECLARE @TOTAL INT DECLARE @ACTUAL INT SELECT TABLE_NAME INTO #TABLES FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME SET @TOTAL = (SELECT COUNT(*) FROM #TABLES) SET @ACTUAL = 0 WHILE EXISTS (SELECT TOP 1 TABLE_NAME FROM #TABLES) BEGIN SELECT TOP 1 @TABLE = TABLE_NAME FROM #TABLES ORDER BY TABLE_NAME SET @COMMAND = 'ALTER INDEX ALL ON [' + @TABLE + '] REBUILD;' SET @ACTUAL = @ACTUAL + 1 PRINT 'WORKING ON ' + CAST(@ACTUAL AS NVARCHAR(5)) + ' FROM ' + CAST(@TOTAL AS NVARCHAR(5)) + ' : ' + @TABLE EXECUTE (@COMMAND) DELETE FROM #TABLES WHERE TABLE_NAME = @TABLE END DROP TABLE #TABLES