2015-12-01

資料庫移轉:由SQLServer到PostgreSQL

以下提供將資料庫由 SQL Server 資料移轉至 PostgreSQL 的方法。

市面上其實有不少資料庫移轉的軟體或是script,因為這次被移轉的目標為PostgreSQL,那我們就拿其官方開發的 migration toolkit 來處理。

執行環境與工具:

  • 作業系統:Windows 2008 R2,安裝 SQL Server 2008。
  • Postgre Plus Advanced Server,版本9.4.1.3,PostgreSQL的企業版,又名EDB(Enterprise DB),號稱可以無縫取代 Oracle DB,商業模式相當清楚。以下簡稱 Postgre Plus Advanced Server 為 PPAS 。過程需要Product Key,可向官方免費取得60天試用序號;當然也可以直接使用開源版本的 PostgreSQL。
  • EnterpriseDB Migration Toolkit (Build 48.0.1),與 PPAS 同時安裝,執行目錄在 ${Program Files}\PostgresPlus\edbmtk\bin 



Migration Toolkit 使用提醒事項:

  • 需要Database "SQL Server" net.sourceforge.jtds.jdbc.Driver,請自行Google下載,並放置於Java執行目錄中。
  • 使用方法:runMTK [-選項] SCHEMA
  • log路徑:${user local dir}\.enterprisedb\migration-toolkit\logs
  • 移轉config檔,位於${Program Files}\PostgresPlus\edbmtk\etc\toolkit.properties,請自行修改設定。


資料移轉操作步驟

  • 以Database為單位下指令移轉:先在PPAS建立新db,與被移轉的SQL Server為一對一對應。
  • 在migration tool console下指令
    • #runMTK -allTables -constraints -indexes  -sourcedbtype sqlserver -targetSchema public dbo
    • #runMTK -allViews -sourcedbtype sqlserver -targetSchema public dbo
  • 當一個db轉完,就要修改toolkit.properties
  • 執行結果於console與log呈現





沒有留言:

張貼留言