MS SQL 數據庫遷移文件,這里說的不是將數據庫遷移到另外一台服務器,只是在服務器不同磁盤目錄內做遷移。移動數據庫文件的情況大致有下面一些:
1: 事先沒有規划好,數據庫文件或日志文件增長過快,導致某個盤或整個磁盤空間不足,需要移動數據文件或日志文件
2: 純粹由於業務需求,數據增長過快。
3: 為了更好的IO的性能,需要將數據文件、日志文件分布到不同磁盤,減輕IO壓力,提供IO性能。
4:故障恢復。例如,數據庫處於可疑模式或因硬件故障而關閉。
案例:現在我在數據庫實例中有數據庫MyAssistant,(假設)由於事先沒有規划好,導致數據文件位於E:\DataBase目錄下, 我們需要將數據文件移動到D:\DataBase_Data目錄下,
將日志文件移動到F:\DataBase_Log目錄下。
步驟1:對數據庫中每個要移動的文件(數據文件/日志文件),通過下面命令指定到新的目錄
USE master GO ALTER DATABASE MyAssistant MODIFY FILE(NAME='MyAssistant(文件的邏輯名可以通過鼠標右鍵數據庫獲得)', FILENAME='D:\DataBase_Data\MyAssistant.mdf'); GO ALTER DATABASE MyAssistant MODIFY FILE(NAME='MyAssistant_log(文件的邏輯名可以通過鼠標右鍵數據庫獲得)', FILENAME='F:\DataBase_Log\MyAssistant_log.ldf'); GO 如果有多個數據庫的數據文件/日志文件需要移動,可以通過一系列上述命令執行 ALTER DATABASE DATABASE_ID1 MODIFY FILE(NAME='DATABASE_NAME', FILENAME='....mdf'); ALTER DATABASE DATABASE_ID2 MODIFY FILE(NAME='DATABASE_NAME', FILENAME=.....mdf'); ....... 步驟2:
將轉移數據庫
脫機
然后將數據庫復制到,設定好的盤符下。 在聯機
