經常更新和優化的數據庫可以以更快的速度運行。然而,將數據庫直接從一個比較小的磁盤轉移到另一個比較大的磁盤,這樣的想法是不可能實現的。在轉移數據庫之前,你必須將數據庫斷開所有的操作。使用sp_detach_db存儲程序可以將數據庫從SQL Server 2000分離開來,從而達到數據庫的離線操作。同樣可以運行另一個存儲程序sp_attach_db將數據庫重新連接。
Sp_detach_db是一個功能強大的存儲程序,它只能由系統管理人員運行。除了具備“分離”功能之外,這一程序在分離數據庫之前也自動運行所有表的UPDATE STATISTICS。
以下的范例分離了MyDatabase數據庫:
EXEC sp_detach_db 'MyDatabase'
現在可以轉移我們的數據庫到一個新的磁盤並重新連接它們。連接數據庫操作可能比較復雜,除了提供數據庫名稱,你可以選擇SQL Server數據庫文件的位置。
在以下的范例中,我們可以從一個新位置D:\AnyFolder\:重新連接數據庫。
execsp_attach_db 'MyDatabase',
@filename1='D:\AnyFolder\MyDatabase_Data.MDF',
@filename2='D:\AnyFolder\MyDatabase_Log.LDF'