選項1:腳本是SQL
內如果你把它們放在同一個SQL Server上,你可以寫一個跨數據庫查詢可以拉所有的數據庫和插入行到一個很容易,但正如你所說,由於像外鍵的擔心可能會變得複雜。
選項2:使用SQL集成服務
保持在SQL的解決方案可能意味着使用類似的SSIS,構建了一個遷移過程,但是這將複雜的快無疑讓你與更好只是自己創建一個腳本。
方法3:使用代碼坐在DB的頂部和ORM
如果DB模式是足夠複雜的,你可以考慮使用基於代碼的方法,並建立在數據庫之上的ORM模型。
這將有一個額外的好處,即從一個副本到另一個副本可以完成「一次一個實體樹」,從本質上允許您保持事物之間的關係,而無需保留原始ID,因爲數據移動時可能會發生與其他數據庫中使用的相同ID衝突。
方案4:出口=>進口
導出DAT afrom源數據庫,然後導入到目標DB,我相信SQL服務器具有這種類型的事情嚮導,可能能夠處理整個數據庫的操作,我有一個有趣的感覺,儘管最後一次我嘗試了這一點,但它只適用於一次簡單的平面設置。
我將如何解決這個
個人...我的「最快解決方案」將是ORM方法,主要是因爲我是一名開發人員,並且擁有C#和Entity Framework的強大技能,我將用它來實現這一點。
您可能更
如果你是在心臟一個DBA雖然你可能更適合於「寫一個遷移腳本自己在SQL辦法」(asusming你可以把數據庫的一臺服務器上)。
來源
2017-05-05 13:43:20
War
另一個可能值得考慮的選擇是,不要破壞當前存在的任何東西,就是保持現有的混亂結構,並簡單地創建一個SQL查詢數據來查詢。這條路線有輕微的表現,但比實際移動的數據風險要小得多。 – user2366842