Access 適合單機小應用,但隨數據增長面臨性能瓶頸、文件膨脹、損壞風險。遷移 SQL Server 是必經之路,核心難點在語法與類型差異。
| 場景 | Access | SQL Server |
|---|---|---|
| 日期字面量 | #1981-12-28# | '1981-12-28' |
| 多表 UPDATE | UPDATE T1, T2 SET T1.A=T2.B WHERE T1.ID=T2.ID | UPDATE T1 SET A=T2.B FROM T1 JOIN T2 ON T1.ID=T2.ID |
| DELETE | DELETE * FROM T WHERE A>2 | DELETE FROM T WHERE A>2 |
| 計算列引用 | SELECT A, SUM(N) AS K, K*N AS ALL_K | SELECT A, SUM(N) AS K, SUM(N)*N AS ALL_K |
| 表別名限定符 | T1!A | T1.A |
NVARCHAR(n);Memo → NVARCHAR(MAX)INT;(Double) → FLOAT;(Byte) → TINYINTDATETIME(或 DATETIME2)BITIDENTITY(1,1) + 主鍵VARBINARY(MAX)(建議存文件路徑而非二進制)COUNT(*) 一致UPDATE STATISTICS + DBCC DBREINDEX「一步到位,直接從高起點開始」—— Access 遷移非終點,而是邁向企業級數據平台的起點。