Side-by-Side 核心優勢
- 源實例持續運行,業務零中斷。
- 目標實例可充分測試,回滾即切換連接字符串。
- 支持跨版本大跳躍(2000→2005/2008/2012+)。
- 可借機重組存儲、調整文件佈局、修改排序規則。
標準化遷移步驟
階段 1:目標環境就緒
- 新服務器安裝 SQL Server 2005(同版本/版次),打補丁至同級。
- 複製源實例登錄、連結服務器、作業、備份裝置、維護計劃(腳本化)。
- 預創建數據庫文件目錄、啟用即時文件初始化、配置 TempDB 多文件。
階段 2:源端準備(業務低峰)
- 設置數據庫
READ_ONLY 或 SINGLE_USER WITH ROLLBACK IMMEDIATE。
sp_detach_db 分離目標數據庫(系統庫不可分離)。
- 複製 MDF/LDF/NDF 文件至目標存儲(網絡/備份介質/共享盤)。
階段 3:目標端附加與升級
-- 附加並自動升級內部結構
CREATE DATABASE MyDB ON
(FILENAME = 'E:\Data\MyDB.mdf'),
(FILENAME = 'E:\Log\MyDB_log.ldf')
FOR ATTACH;
-- 或指定 REBUILD LOG 若日誌文件遺失/損壞
- 附加瞬間自動執行內部版本升級(不可中斷)。
- 檢查錯誤日誌確認升級完成無錯誤。
階段 4:後處理與驗證
- 設置兼容性級別:
ALTER DATABASE MyDB SET COMPATIBILITY_LEVEL = 90;
DBCC CHECKDB + sp_updatestats。
- 重建/啟用全文索引、統計信息、查詢存儲(如適用)。
- 修正孤立用戶:
EXEC sp_change_users_login 'Auto_Fix', 'user';
- 應用端測試:連接字符串指向新實例,全鏈路驗證。
階段 5:剪切切換
- DNS 別名/連接字符串/應用配置統一指向新實例。
- 觀察 24-48h,確認無性能回歸/功能缺陷。
- 源實例降級為只讀/備份角色,保留回滾窗口。
關鍵風險控制
| 風險 | 對策 |
| 文件複製耗時過長 | 預壓縮、分盤並行複製、可用性組/存儲副本預同步 |
| 孤立用戶/權限缺失 | 預腳本同步 Logins/SIDs (sp_help_revlogin) |
| 全文目錄遺失 | 附加前備份全文目錄,或重新填充 |
| 排序規則衝突 | 目標實例安裝時選擇相同排序規則 |