1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
DECLARE @table_name sysname
DECLARE @TSQL nvarchar(4000)
DECLARE @Err int
DECLARE @Mess varchar(400)
SET @Mess = 'Début réindexation'
RAISERROR(@Mess, 10, 1) WITH LOG
DECLARE table_list CURSOR FAST_FORWARD FOR SELECT name FROM sysbojects WHERE type = 'u'
OPEN table_list
FETCH NEXT FROM table_list INTO @table_name
WHILE @@fetch_status = 0
BEGIN
SET @TSQL = N'DBCC DBREINDEX(' + @table_name + N')'
EXECUTE sp_executesql @TSQL
SET @Err = @@error
IF (@Err <> 0)
BEGIN
SET @Mess = 'Echec réindexation table ' + @table_name + ' suite erreur ' + CONVERT(varchar, @Err)
RAISERROR(@Mess, 16, 1) WITH LOG
END
FETCH NEXT FROM table_list INTO @table_name
END
CLOSE table_list
DEALLOCATE table_list
SET @Mess = 'Fin réindexation'
RAISERROR(@Mess, 10, 1) WITH LOG |
Partager