首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Access 遷移至 SQL Server 完整指南:升級精靈限制、資料類型衝突與查詢轉換策略

     編輯:MySQL 資料庫相關知識

無法直接升級的物件

  • 交叉表查詢
  • 含 DISTINCTROW 的查詢
  • 所有隱藏物件
  • 參數化表單查詢 (表單參數無法正確傳遞)
  • Pass-Through 查詢
  • SQL DDL 查詢 (CREATE/ALTER/DROP TABLE)
  • Jet 安全性 (需改用 Windows 驗證或 SQL Server 登入)

常見遷移陷阱與對策

1. 日期範圍不相容

  • Access:100-01-01 ~ 9999-12-31
  • SQL Server:1753-01-01 ~ 9999-12-31
  • 對策:遷移前掃描並修正早於 1753 年的日期,或改用 DATETIME2 (SQL Server 2008+)。

2. 表單控制查詢失效

Access 允許查詢直接參考表單控制項 (如 [Forms]![DateFilter]![DateFrom]),SQL Server 不支援。

  • 對策:改用預存程序 + 參數化查詢,從應用層傳入參數值。

3. 交叉表查詢轉換

Access TRANSFORM ... PIVOT 語法 SQL Server 無對應功能。

  • 對策:使用 PIVOT 運算子 (SQL Server 2005+) 或在應用層 (PHP/C#) 進行行轉列。

4. 文字/備註欄位長度

Access Memo → SQL Server NVARCHAR(MAX);Text(255) → NVARCHAR(255)。

遷移最佳實踐流程

  1. 評估:運行「SQL Server 遷移小幫手 (SSMA)」掃描相容性報告。
  2. 前處理:修正不支援物件、清理資料、轉換查詢為 View/SP。
  3. 試遷移:在測試環境完整遷移,驗證應用功能。
  4. 效能調校:重建索引、更新統計資訊、調整填滿因子。
  5. 正式剪線:切換連線字串,啟用 SQL Server 安全性模型。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved