Sql-Server

跨實例調度兩個表的複制

  • September 19, 2013

在我的 SQL Server 2012 數據庫中,我有兩個表:

  • $$ tbl_Customers $$- 大約 30 行
  • $$ tbl_Users $$- 大約 10,000 行

我需要安排將上面的兩個表複製到一個新實例,比如每 12 小時一次。我正在考慮設置一個 SQL Azure 帳戶作為第二個實例。

$$ tbl_Users $$是一個普遍訪問的表,CRUD 操作執行得非常多,因此數據經常變化。立即在第二個實例上複製這些更改並不重要(但如果可能的話,如果選項允許的話會很好)。 誰能推薦他們可能採取哪種方法來實現這一目標?我是這類事情的新手,所以請不要因為你的回答簡單而退縮……!

我的開發機器上有 SQL2012 Standard(但目前沒有 SSIS,儘管我可以安裝它),但不知道我現有的 SQL 主機和/或 Microsoft 是否在他們的產品上安裝了 SSIS。

只要所有更改僅發生在您的第一個實例上,事務複製就是您要尋找的。它是為此目的而設計的,通常接近實時執行。

你可以在這裡找到關於複製的介紹:http ://www.sqlservercentral.com/stairway/72401/

如果您需要能夠在兩台機器上應用更改,合併複製可能是更好的選擇,但它不是為實時操作而設計的。上面的連結也介紹了合併複製。

我正在考慮設置一個 SQL Azure 帳戶作為第二個實例。

SQL Azure 數據庫不支持複製。請參閱SQL Server 功能限制(Windows Azure SQL 數據庫)

我需要安排將上面的兩個表複製到一個新實例,比如每 12 小時一次。誰能推薦他們可能採取哪種方法來實現這一目標?

如果要使用 SQL Azure 數據庫,則必須使用以下任何一種方法:

  1. 使用仍處於預覽狀態的SQL 數據同步。你可以設置將數據同步到 Azure 的頻率。
  2. 使用 SSIS 遷移數據。您甚至可以安排您的 SSIS 包根據您的需要執行,例如每 12 小時執行一次。
  3. 可能使用SQL Azure 遷移嚮導,它本質上使用 BCP(批量複製)來獲取數據,並使用 BULK INSERT 將數據推回 Azure。

我個人的選擇以及我在公司實施的方法是使用 SSIS。靈活,如果出現問題,您可以輕鬆排除故障。

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