2009-11-09 80 views
1

我們希望將數據從一個數據庫複製到另一個數據庫(在另一個服務器上)。將這些表複製到另一臺服務器上的共享數據庫並讓我們的跨數據庫查詢引用共享數據庫是否合理?或者更有意義地複製到另一臺服務器上的每個單獨數據庫?跨數據庫連接會造成性能下降嗎?跨數據庫限制是否按預期工作?SQL Server複製(跨數據庫查詢和約束)

複製一次,一個共享的數據庫,將有助於複製性能......我試圖評估打擊跨數據庫查詢或約束而造成的任何性能是否會是值得的。

編輯:它看起來像跨數據庫的約束是不可能在sql服務器?如果這是真的,那麼我們將不得不復制到每個數據庫

回答

2

跨數據庫查詢速度稍慢,在同一個數據庫。外鍵僅在同一個DB內工作。通常的做法是在每個數據庫中創建一個單獨的模式(如ETL),然後將這些表複製到該模式。在數據集市間複製維度表時,實際上經常使用這種方法。

當使用交叉分貝方法中,使用觸發器來實現的約束 - 可能是緩慢的和複雜的。 根據您的應用程序,你可以實現外鍵爲「唯一合乎邏輯的」,並運行週期「尋找孤兒」查詢處理參照完整性。