2010-03-16 270 views
0

我們正在將客戶端自己的數據庫模式遷移到我們自己的(都是SQL-Server)。大多數從他們的模式到我們的模式的映射已經被識別,並且如果列沒有完全對齊(默認值等),則規則被商定。數據庫遷移

以前,取決於誰被分配了任務,這已經完成混合使用sql腳本或一次性vb應用程序。

我在想,必須有一個應用程序(商業或其他),您可以在其中分配這些映射/規則,並讓它流式傳輸數據。當然,這個工具的設置和配置將少於創建專門的腳本...

有沒有應用程序?除了明顯的「小心」之外,還有什麼提示可以緩解非DBA將一個模式移植到另一個模式的壓力?

回答

0

不是。問題是,無論你使用什麼應用程序,無論如何都會是更多的殭屍。根據定義,模式轉移在部分方面很難做到。而一個做一半東西的工具幾乎是無用的 - 這在SQL中很容易實現;)

0

我每天都在做這種事情。由於我們軟件的自定義性質,我通常一勞永逸。大約70%的時間,我使用ms訪問作爲中介(其餘時間,我寫代碼來做)。我將源數據加載到ms訪問中,按下它,然後將它移動到我們的sql服務器表中。訪問非常適合這種類型的工作。要小心的主要是你的鑰匙和重複的限制。我確定有現成的應用程序可以進行數據遷移,但對於我的使用,我需要更多的控制權限,並且ms訪問權限允許我重新使用數據導入的某些部分,同時保持定製所有內容的能力。

最好的問候, 不要

1

您可以使用數據庫遷移在你的代碼。

有幾個.net數據遷移庫受ruby遷移的啓發。他們在代碼中定義數據庫更改。

遷移允許開發人員以受控和一致的方式管理數據庫模式更改的卷展和回滾。

看看這些:

+0

大部分這些是否支持架構的大規模更改?沒有一個表名稱映射(例如:我們所有的都有一個前綴),不同的字段名稱(有些是多元化的,有些不是)。 – 2010-03-16 14:02:07

+0

你幾乎定義了一個'上'和'下'腳本的變化 - 它會像你做的那樣全面。如果這是問題,他們不會自動更改存儲過程中的列名。 – Oded 2010-03-16 14:11:50

+0

RikMigrations(儘管名稱)似乎是列出的最佳選擇。 – 2010-03-16 14:16:16

1

對於這樣的任務,我使用了一個名爲Talend Open Studio的開源ETL(提取/轉換/加載)工具。簡而言之,Talend Open Studio(TOS)是一個GUI代碼生成工具,您可以在其中插入不同的組件以導入,導入和導出數據 - 而生成的代碼是可移植的Java或Perl。有很多組件可以幫助您做出有關非標準數據的決策(或者您可以隨時爲最複雜的部分添加自己的Java或Perl例程)。

TOS已被證明非常值得我最初投資它的時間...所以我肯定會推薦它。

+0

嗯。我們是一家微軟商店,所以java/perl可能有點難飛。 – 2010-03-16 14:15:36

+0

我的公司也非常以微軟爲中心......但現在幾乎不可能避免在某處使用某些Java。在我們的例子中,使用java.exe命令行從Talend運行JAR非常簡單,甚至可以從我們的基於Windows的作業控制軟件中運行。但是YMMV,當然;) – ewall 2010-03-16 21:03:57

0

嘗試SQL Data Examiner。 此工具允許比較/同步sql查詢結果,因此您可以將適當的查詢寫入兩個數據庫並比較/同步這些查詢返回的結果。