这是一个前说明
看看这个有没有行号
-- 删除索引碎片,重建索引
DECLARE @TEMP1 VARCHAR(88)
DECLARE @sql VARCHAR(MAX)
DECLARE CA1 CURSOR --创建 游标
FOR
SELECT DISTINCT
a.name AS tabname --, h.name AS idname -- ,avg_fragmentation_in_percent -- ,h.object_id ,h.name
FROM sys.objects AS a
RIGHT JOIN sys.indexes AS h
ON a.object_id = h.object_id
LEFT JOIN sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, NULL) avg_b
ON avg_b.object_id = h.object_id
WHERE a.type <> 's'
AND h.name IS NOT NULL -- 筛选要索引存在
AND avg_b.avg_fragmentation_in_percent <> 0 --AND A.[name] LIKE 'MA%' --AND a.[name] NOT LIKE '%_BAK_%'
ORDER BY A.[name]
-- 启用游标
OPEN CA1
FETCH NEXT FROM CA1 INTO @TEMP1
WHILE ( @@FETCH_STATUS <> -1 )
BEGIN
SET @sql = ' DBCC DBREINDEX (' + @TEMP1 + ','''',90)'
EXEC (@sql )
FETCH NEXT FROM CA1 INTO @TEMP1
END
CLOSE CA1
DEALLOCATE CA1
END
好了,我再看看