為什麼無法直接還原或附加?
SQL Server 2005 的備份檔(.bak)與資料庫檔(.mdf/.ldf)無法直接在 SQL Server 2000 上還原或附加,版本不相容會導致失敗。必須透過「產生腳本」與「資料匯出」兩階段完成降級遷移。
步驟一:產生相容 SQL Server 2000 的資料庫腳本
- 開啟 SQL Server 2005 Management Studio,按 F8 開啟「物件總管」並連線
- 右鍵目標資料庫 → 工作 → 產生指令碼
- 「選擇資料庫」頁確認目標資料庫,勾選 為所選資料庫中的所有物件編寫指令碼
- 「選擇指令碼選項」頁,找到 為伺服器版本編寫指令碼,選擇 SQL Server 2000
- 其他選項依需求設定(如:含索引、觸發程序等)
- 將腳本儲存為
.sql 檔案
步驟二:在 SQL Server 2000 建立目標資料庫
使用查詢分析器(或 Management Studio 開啟腳本檔),連線至 SQL Server 2000,執行上一步產生的 .sql 腳本,即可建立結構相同的空資料庫。
步驟三:將資料從 2005 匯出至 2000
- 在 Management Studio 物件總管中,右鍵來源資料庫 → 工作 → 匯出資料
- 「選擇資料來源」確認來源資料庫
- 「選擇目的地」連線至 SQL Server 2000,選擇步驟二建立的目標資料庫
- 「選擇來源資料表與檢視表」全選所有資料表
- 完成精靈,資料即完成遷移
關鍵提醒
- 腳本產生時務必選擇 SQL Server 2000 版本,否則會包含 2005 專有語法(如
MAX 資料類型、ROW_NUMBER() 等)導致執行失敗
- 匯出資料前確保目標資料庫結構已就緒,且無資料衝突
- 大量資料匯出建議調整批次大小與交易記錄模式以提升效能
本方法適用於 SQL Server 2005 → 2000 的單向降級遷移,若需雙向同步或升級,請參考複寫或升級精靈方案。