SQL 2008 → 2000 跨度極大(2005 為重大架構變革),SSMS 2008 生成腳本精靈不提供下拉選單選 SQL 2000,且 2005+ 資料庫無法直接 Attach 到 2000。




TRY...CATCH、MAX 資料類型、XML 方法等)需人工改寫。| 2008/2005 特性 | 2000 替代/處理 |
|---|---|
| VARCHAR(MAX)/NVARCHAR(MAX)/VARBINARY(MAX) | TEXT/NTEXT/IMAGE(或拆分表) |
| XML 資料類型/方法 | 移除或轉 VARCHAR 存儲 |
| TRY...CATCH 錯誤處理 | @@ERROR + GOTO 標籤 / 離散錯誤檢查 |
| ROW_NUMBER()/RANK() 窗口函數 | 自連接/臨時表/游標模擬 |
| PIVOT/UNPIVOT | CASE 聚合 / 動態 SQL 模擬 |
| 公用資料表運算式 (CTE) | 衍生表/臨時表/視圖替代 |
| INTERSECT/EXCEPT 集合運算 | INNER JOIN/NOT EXISTS 替代 |
| APPLY (CROSS/OUTER) | 相關子查詢/臨時表替代 |
2008 → 2000 是「硬降級」,必經:腳本中轉 2005 → 手工語法改寫 → DTS 導數據 → 補程式物件。無捷徑,唯有細致驗證。建議:若非強制,架構層面評估升級 2000 客戶端而非降級資料庫。