使用 Access 專案將資料庫轉換至 SQL Server 時,常遇到版本不相容、權限不足、名稱衝突、磁碟空間、擴展屬性遺失等問題。本文系統整理官方文檔與實戰經驗,提供針對性解決方案。
現象:來源或目標資料庫為 SQL Server 6.5。
原因:Access 專案要求 SQL Server 7.0 或更高版本(實際建議 2008 R2+)。
對策:升級 SQL Server 執行個體,或先匯出腳本在目標版本重建。
現象:轉換過程中報權限錯誤。
原因:執行轉換的使用者必須是目標 SQL Server 的 sysadmin 固定伺服器角色成員。來源伺服器不強制要求。
對策:使用 sa 或具備 sysadmin 權限的登入執行轉換。
現象:提示資料庫已存在。
對策:指定新資料庫名稱,或先刪除/重命名舊資料庫(確認無業務影響)。
現象:轉換中斷,提示空間不足。
原因:目標伺服器磁碟剩餘空間小於來源資料庫大小(含索引、日誌預留)。
對策:
• 擴充磁碟或清理空間
• 預估公式:目標空間 ≥ 來源資料庫大小 × 1.5(含臨時排序、索引重建空間)
• 分批轉換大表
現象:轉換完成但資料表/欄位的擴展屬性(Description 等)遺失。
原因:Access 複製擴展屬性需本機安裝 MDAC 2.6+(含 SQL Server 2000 Desktop Engine)。
對策:
• 從 Office 2003 CD \MSDE2000 目錄安裝 SQL Server 2000 Desktop Engine
• 或升級至 SQL Server 2005+ 內建支援
轉換失敗時,查看 Access 專案同目錄下的 轉換日誌檔(通常為 *.log),內含詳細錯誤堆疊與失敗物件,是定位問題的首要線索。
Access 專案 (ADP) 已於 Access 2013 移除。建議遷移至:
使用現代工具可避免 ADP 版本限制、MDAC 依賴、擴展屬性遺失等歷史包袱,獲得更可靠的遷移體驗。