首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Access遷移SQL Server 7.0完整指南:工具、數據轉移、查詢轉換與應用重構

     編輯:關於SqlServer

核心工具鏈

  • SQL Server Enterprise Manager:企業級配置管理、排程、備份、複寫、全文索引、圖表、維護計畫。
  • Data Transformation Services (DTS):異構資料源匯入匯出、OLE DB/ODBC架構、DTS Wizard互動建立套件、支援Schema與資料複製。
  • Query Analyzer:圖形化查詢工具、Showplan分析執行計畫、多查詢並行、索引建議。
  • SQL Server Profiler:即時事件追蹤、過濾、重放、效能瓶頸識別。

資料表與資料遷移(DTS Wizard)

  1. EM → Tools → Data Transformation Services → Import Data
  2. 來源:Microsoft Access(.mdb)
  3. 目標:Microsoft OLE DB Provider for SQL Server,選認證模式
  4. 指定「Copy tables」→ Select All → 完成

Access查詢轉換三種形態

形態優點缺點/限制
Transact-SQL Scripts (.sql)可由QA直接執行、版本控管易無參數化、重用性低
Stored Procedures封裝邏輯、參數化、預編譯、網路流量少、安全性高需部署到DB、版本管理稍繁
Views虛擬表、簡化複雜Join、安全性隔離不支援參數、多表View不可更新、不支援ORDER BY

建議:優先轉為存儲過程,實現應用邏輯與物理實作分離;交叉表視資料鮮度需求轉為View或排程物化表。

查詢類型對應轉換策略

  • SELECT:SP / View / .sql
  • CROSSTAB:SP / View / 臨時表(快照)
  • MAKE TABLE:CREATE TABLE ... AS SELECT / 臨時表 / DTS套件排程
  • UPDATE/APPEND/DELETE:優先SP,次之.sql

參數語法轉換範例

-- Access PARAMETERS
PARAMETERS [Beginning Date] DateTime, [Ending Date] DateTime;
SELECT ... WHERE Orders.[Shipped Date] Between [Beginning Date] And [Ending Date]

-- T-SQL Stored Procedure
CREATE PROCEDURE EMP_SALES_BY_COUNTRY
    @BeginningDate DATETIME, @EndingDate DATETIME
AS
SELECT ... WHERE Orders.[Shipped Date] BETWEEN @BeginningDate AND @EndingDate

其他遷移考量

  • 臨時表:#table(Session級)、##table(全域),查詢極快,DTS可自動化排程。
  • 應用程式層:連接字串、ADO/DAO介面、游標行為、鎖定提示、交易隔離級別皆需調適。
  • Upsizing Wizard(Access 2000)可自動化大部分步驟,舊版Access需先升級。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved