前言
因專案需求,常需將 SQL Server 2008 的數據庫遷移至 2005 版本。由於版本差異,無法直接還原備份文件,需透過腳本生成與數據導入方式完成。本文詳細記錄操作步驟,並針對自增主鍵導入失敗問題提供解決方案。
第一階段:生成相容 SQL Server 2005 的資料庫腳本
- 打開 SQL Server 2008 Management Studio,連接目標實例。
- 在「物件總管」(按 F8 可開啟)中右鍵點選需遷移的資料庫,依序選擇「任務」→「產生指令碼」。
- 在「選擇資料庫」頁面確認選取正確資料庫,並勾選「為所選資料庫中的所有物件編寫腳本」。
- 進入「設定指令碼選項」頁,將「編寫建立資料庫的指令碼」設為 True,重點將「指令碼目標伺服器版本」選為 SQL Server 2005。其餘選項依實際需求調整。
- 完成嚮導,將腳本儲存為
.sql 檔案。
第二階段:在 SQL Server 2005 建立目標資料庫
使用 SQL Server 2005 的查詢分析器,或在 2008 Management Studio 開啟上一步生成的 .sql 檔案,連接至 SQL Server 2005 執行個體,執行腳本即可建立結構相同的空資料庫。
第三階段:將數據從 2008 導入 2005
- 開啟 SQL Server 2005 企業管理器,右鍵目標資料庫選擇「任務」→「導入數據」。
- 在「SQL Server 匯入和匯出精靈」中,資料來源選擇 SQL Server 2008 實例及來源資料庫。
- 目的地選擇 SQL Server 2005 實例及剛建立的目標資料庫。
- 在「選擇來源資料表和檢視表」步驟勾選所有資料表,完成嚮導執行匯入。
常見問題與解決:自增主鍵導入報錯
若來源資料表含有身分識別欄位,匯入時會提示無法插入唯讀欄位。解決方法如下:
在「選擇來源資料表和檢視表」頁面,點選對應資料表後的 「編輯對應」 按鈕,在彈出的「資料行對應」對話框中勾選 「啟用識別欄位插入」,確定後繼續匯入即可成功寫入自增主鍵數值。
總結
透過「產生指令碼」降級腳本版本、建立目標庫、再使用匯入精靈搬移數據,配合啟用識別欄位插入選項,即可順利完成 SQL Server 2008 到 2005 的跨版本遷移。