Sql-Server

事務複製到同一伺服器實例上的數據庫

  • May 13, 2020

我們有一個 SQL Server 2012 實例,其中包含一個包含許多產品線數據的數據庫。

我們正在尋找一種方法將這些數據的子集放入同一實例上的另一個數據庫中。

這不必是連續的,因為我們正在尋找方法來輕鬆導出我們可以發送給供應商的子集的備份(我們有一家公司將這些數據載入到他們自己的 sql 伺服器中以生產我們的產品銷售,自然它是巨大的,我們希望將其縮減為他們經常使用的產品線)或用於載入 SQLite DB 以供離線應用程序使用。

ProductDB - 所有產品線數據的超集。

ProductLine1DB - 結構與ProductDB相同的子集,但數據僅與產品線 1 相關。

ProductLine2DB - 結構與ProductDB相同的子集,但數據僅與產品線 2 相關。

這可以在每晚、每周和我們需要的頻率下進行,但不能連續複製。

我們不想添加分發伺服器甚至額外的訂閱伺服器。我們希望複製發生在同一台伺服器上,訂閱者數據庫位於同一台伺服器上。

這是事務複製的好選擇嗎?

為什麼或者為什麼不?

我們顯然還有其他選項來載入這些數據,但使用事務複製之類的東西似乎是一個很好的例子。我聽說它功能強大,但在未進行最佳設置時容易出現問題。

注意: 我不是 DBA,只是一名開發人員,但我們目前正在尋找新的 DBA,我們中的一些人正在臨時接管這樣的職責。

這是事務複製的好選擇嗎?

我會使用SSIS 以增量方式載入數據(如果數據集太大)或者只是每天晚上(或任何時候)重新載入數據(如果數據較少)。

這樣您就不必創建任何發布、分發數據庫或訂閱。

當您對主數據庫進行升級時易於管理 - 特別是更改架構。

另一種選擇是使用BCP OUT 和 BULK INSERT IN。如果你這樣做,我有一個腳本可以幫助你。確保使用 where 子句調整腳本以過濾掉您需要的數據 :-)

注意:不要誤會我的意思,因為我沒有告訴你,你不能使用 T-Rep,但我不認為它完全適合你的情況。您可以使用更好的工具來滿足您的方案。

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