当旧的数据库中的数据几乎很少使用到的时候,索引又占用着较大的磁盘空间,数据又不能删除,又想节省磁盘空间。
这个时候可以将所有表的索引进行删除了(先创建索引备份脚本,以备需要还原),可以批量一起删除。
参考脚本如下:
--查看数据库磁盘使用情况储存过程: EXEC sp_spaceused --生成所有表索引删除脚本(不包含主键索引) SELECT ('drop index ' + idx.name + ' on ' + OBJECT_NAME(CAST(idx.object_id AS INT)) + ';') AS dropIndexScript FROM sys.tables tb INNER JOIN sys.indexes idx ON idx.object_id = tb.object_id WHERE tb.type = 'u' AND idx.is_unique = 0 AND idx.name IS NOT NULL
通过生成的删除索引脚本,执行即可,不过执行的时候,确保正常,别删错,操作前一定要小心,操作前一定要小心,操作前一定要小心。。