一次性重建所有聚集索引,方便释放空间
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)
数据库在长时间使用后, 会形成大量碎片, 有时看着有大量可用空间, 却又释放不了, 可以用这个脚本先重建聚集索引, 再收缩就没问题的了。
相关文章推荐
- 重建索引来释放索引所占的表空间
- orcl索引失效,重建所有索引,或者根据命名空间重建所有索引
- 重建所有索引(Oracle)
- oracle 10G 表空间迁移 索引需要重建
- SQLSERVER聚集索引的整理(重建)的必要性测试
- Oracle中重建索引时如何解决“无法为表空间 XXXXXX 中的段创建INITIAL区”错误 .
- 重建索引到指定表空间
- SQL2008R2的 遍历所有表更新统计信息 和 索引重建
- 重建数据库表所有索引
- 分析oracle索引空间使用情况,以及索引是否需要重建
- SqlServer 聚集索引重建后变换列位置统计信息列名不变
- 使用SP_MSForEachTable重建一个数据库中所有的索引
- 分析oracle索引空间使用情况,以及索引是否需要重建
- 怎么对ArcSDE数据库的要素类进行批量重建空间索引
- 重建数据库表所有索引
- SQL Server数据库所有表重建索引
- sqlserver重建所有索引存储过程
- SQL Server数据库所有表重建索引
- 重建索引能释放掉字段因更改而产生额外列偏移量
- 编写求导函数的算法,利用原多项式的结点空间存放其异函数,同时释放所有无用节点