您的位置:首页 > 其它

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

2017-04-19 11:42 295 查看
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 t
ON i.[object_id]=t.[object_id]
WHERE i.type_desc='CLUSTERED'
SET @sql=REPLACE(@sql,';','
')
PRINT @sql
EXEC (@sql)


数据库在长时间使用后, 会形成大量碎片, 有时看着有大量可用空间, 却又释放不了, 可以用这个脚本先重建聚集索引, 再收缩就没问题的了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: