一次性重建所有聚集索引,方便释放空间

来源:互联网 发布:linux编辑文件命令文件 编辑:程序博客网 时间:2024/06/06 08:46
DECLARE @sql NVARCHAR(MAX)SET @sql=''SELECT @sql=@sql+'ALTER INDEX ['+i.name+'] ON '+t.name+' REBUILD PARTITION = ALL;'  FROM sys.indexes AS i INNER JOIN sys.tables AS tON i.[object_id]=t.[object_id]WHERE i.type_desc='CLUSTERED'SET @sql=REPLACE(@sql,';','')PRINT @sqlEXEC (@sql)


数据库在长时间使用后, 会形成大量碎片, 有时看着有大量可用空间, 却又释放不了, 可以用这个脚本先重建聚集索引, 再收缩就没问题的了。

0 0
原创粉丝点击