Sql-Server

同一實例的數據庫之間的數據遷移

  • March 23, 2012

我有兩個幾乎相同(結構上)的數據庫:

  1. 文件
  2. 文件舊

原來的數據庫在表分區可用之前就已經存在,所以他們找到的解決方案是創建第二個數據庫,並在每年之後將所有舊數據遷移到它。現在他們想再次合併兩個數據庫。

我做了一些研究,發現兩個數據庫在表之間只有很小的結構差異,沒有 IDENTITY 列。

因此,除了微小的結構差異之外,我想說的是,幾乎可以將舊數據庫中的值插入回第一個數據庫。

數據庫實際上有點大,有100多個表。

我想知道的是,使用 SSIS 來做這件事是否有意義,或者 SSIS 是否適合這種工作?還是我應該只編寫 T-SQL 程式碼來完成這項工作?

作為一個額外的問題,有沒有比上述前兩個選項更適合這種工作的工具?

我自己會直接去SSIS。除了開箱即用的配置、日誌記錄和錯誤處理之外,您還可以獲得一些非常好的性能。

通過使用EzAPI之類的工具編寫大部分包的腳本,然後調整剩餘的 10%,您可能可以節省相當多的時間。

我最近使用這種方法編寫了腳本,將大約 150 個表從我們的 Informix 實例複製到 SQL Server。通過設置基礎知識為我節省了大量時間,我所要做的就是修復系統之間的一些數據類型不兼容問題。我落後於關於 EzAPI 的部落格,但如果您對該方法感興趣,我可以整理一個範例。

編輯

我整理了一個使用 SSIS EzAPI 複製表的展示。您需要修改 ReplicateTables 中的值,然後修改 GenerateTableList 中的查詢以確保它辨識所有適用的表。

引用自:https://dba.stackexchange.com/questions/15431