SQL Server 批量 刪除表索引


當舊的數據庫中的數據幾乎很少使用到的時候,索引又占用着較大的磁盤空間,數據又不能刪除,又想節省磁盤空間。

這個時候可以將所有表的索引進行刪除了(先創建索引備份腳本,以備需要還原),可以批量一起刪除。

參考腳本如下:

--查看數據庫磁盤使用情況儲存過程:
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

 

通過生成的刪除索引腳本,執行即可,不過執行的時候,確保正常,別刪錯,操作前一定要小心,操作前一定要小心,操作前一定要小心。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM