問題背景
SQL Server 2005 附加或還原的資料庫,內部版本號高於 SQL Server 2000,無法直接在 2000 版附加或還原。必須透過「產生腳本」與「資料匯入/匯出」兩步驟完成降級遷移。
操作步驟
- 在 SQL Server 2005 Management Studio 中產生腳本
- 右鍵資料庫 → 工作 → 產生指令碼。
- 選擇「指定資料庫中的所有物件」或勾選特定物件。
- 關鍵設定:在「設定腳本選項」中,將「目標伺服器版本」設為 SQL Server 2000。
- 輸出至單一檔案(.sql),包含建立資料庫、表、索引、預存程序、觸發器等 DDL。
- 在 SQL Server 2000 執行腳本建立空資料庫結構
- 使用查詢分析器開啟 .sql 檔並執行,建立目標資料庫與所有物件。
- 資料遷移
- 方法 A:DTS 匯入/匯出精靈(SQL 2000 自帶),來源選 SQL 2005,目的地選 SQL 2000。
- 方法 B:在 SQL 2005 使用
bcp 匯出資料,SQL 2000 bcp 匯入。
- 方法 C:連結伺服器 +
INSERT INTO ... SELECT * FROM [LinkedServer].db.dbo.table。
注意事項
- 腳本產生時請勾選「含 IF NOT EXISTS」、「含索引」、「含觸發器」、「含權限」等選項。
- 資料類型對應:SQL 2005 新類型(
xml、varchar(max)、varbinary(max))在 2000 無對應,需手動調整為 text/ntext/image。
- 大量資料建議使用
bcp 或 SSIS(若環境允許)提升效能。
- 遷移完成後務必執行
DBCC CHECKDB、更新統計資料、重建索引。
圖解流程



結語
雖然降級遷移較繁瑣,但透過「產生腳本(目標版本 2000)+ 資料匯入」是官方支援且最穩妥的路徑。規劃升級時請務必評估相容性,避免被迫降級。