SQLServer重建索引

Use [数据库名称]
Go 
DECLARE @DBCCString NVARCHAR(1000)
DECLARE @TableName VARCHAR(100)
DECLARE Cur_Index CURSOR
FOR
  SELECT Name AS TblName
  FROM sysobjects 
  WHERE xType='U'
  ORDER BY TblName
FOR READ ONLY
OPEN Cur_Index
FETCH NEXT FROM Cur_Index
INTO @TableName
WHILE @@FETCH_STATUS=0
BEGIN
   SET @DBCCString = 'DBCC DBREINDEX(@TblName,'''')WITH NO_INFOMSGS'
   EXEC SP_EXECUTESQL  @DBCCString,N'@TblName VARCHAR(100)', @TableName
   PRINT '重建表' + @TableName +'的索引........OK!'
 FETCH NEXT FROM Cur_Index INTO @TableName
END
CLOSE Cur_Index
DEALLOCATE Cur_Index
PRINT '操作完成!'
go 


DBCC UPDATEUSAGE(0);

https://blog.csdn.net/liaobotao/article/details/7618998

posted @ 2015-05-26 23:38  findumars  Views(956)  Comments(0Edit  收藏  举报