Sql-Server

批量移動 SQL 索引

  • March 29, 2017

讓我先說我不是 SQL 專家,我知道足以惹上麻煩 :) 我們剛剛在新硬體上將客戶端從 SQL 2008 R2 遷移到 SQL 2016,我們希望將索引移到一個不同的分區,它在比數據庫更快的磁碟上。

大約有 40 個數據庫,每個表上有幾十個表和索引。一些索引是集群的,其他的是非集群的。有沒有辦法批量移動所有索引?類似於此http://sqlsrvscrpt.codeplex.com/wikipage?title=DBScript%20Utility&referringTitle=Home的內容,不幸的是,此工具不適用於 SQL 2016。

提前致謝!

您的索引是否已經儲存在主 mdf 數據文件之外?通常,SQL 數據庫分為主數據文件 (.mdf)、日誌文件 (.ldf),有時還有輔助數據文件 (.ndf)。表數據本身也是一種索引,所以聽起來你只是想將數據移動到新磁碟上。最簡單的方法是分離數據庫,將數據文件移動到您想要的任何位置,然後重新附加。這可以通過 ssms 完成,方法是右鍵點擊數據庫,然後點擊任務->分離,然後右鍵點擊數據庫文件夾並點擊“附加”以將其重新附加到新位置。您還可以使用 sp_detach_db 和 sp_attach_db 儲存過程。

https://docs.microsoft.com/en-us/sql/relational-databases/databases/database-detach-and-attach-sql-server

引用自:https://serverfault.com/questions/841407