| 
 | 
 
 本帖最后由 zhouf 于 2020-10-29 17:50 编辑  
 
这个只产生重建索引的脚本,不执行。 
- SET NOCOUNT ON;
 
  
- DECLARE @tbIndex TABLE(iIden INT IDENTITY(1,1) PRIMARY KEY
 
 -   ,sObjName NVARCHAR(255),sIndexName NVARCHAR(255));
 
 - INSERT INTO @tbIndex
 
 - SELECT b.name,a.name
 
 -   FROM sys.sysindexes a
 
 -   JOIN sys.objects b ON b.object_id=a.id
 
 -   WHERE a.indid IN (0,1) AND a.name IS NOT NULL AND b.type='u';
 
  
- DECLARE @iIden INT=0,@sSQL NVARCHAR(2000)=0x,@rtn NVARCHAR(2)=NCHAR(13)+NCHAR(10);
 
 - WHILE EXISTS(SELECT * FROM @tbIndex)
 
 - BEGIN
 
 -   SELECT TOP 1 @iIden=iIden FROM @tbIndex;
 
 -   SELECT @sSQL=N'ALTER INDEX '+sIndexName+N' ON dbo.'+sObjName+N' REORGANIZE;'+@rtn+N'GO'+@rtn
 
 -     +N'ALTER INDEX '+sIndexName+' ON dbo.'+sObjName+' REBUILD PARTITION = ALL;'+@rtn+N'GO'+@rtn
 
 -     FROM @tbIndex WHERE iIden=@iIden;
 
 -   PRINT @sSQL;
 
 -   DELETE @tbIndex WHERE iIden=@iIden;
 
 - END;
 
  复制代码 
 
 |   
 
 
 
 |