我有一個數據庫服務器,充當主SQL Server,包含一個表來保存所有數據。其他數據庫服務器進出(SQL Server的不同實例)。當他們聯機時,他們需要從主表下載數據(在給定的時間段內),然後他們將自己的附加數據生成到同一本地SQL Server數據庫表中,然後希望僅用新數據更新主服務器,使用C#程序,通過定期服務,每隔一段時間。多個額外的服務器可能同時生成數據,雖然它不會那麼多。從一個SQL Server到另一個表的高效更新表,結構
主表將始終在線。額外的非主數據庫表並不總是在線的,並且不應該是主副本,首先它將包含主數據的子集,然後它自己產生附加數據到本地表並更新主表往往與其更新。可能有相當數量的生成和/或下載的行數。所以需要一個高效的算法從額外的數據庫複製到主表。
什麼是最有效的方式在C#中傳輸這個? SqlBulkCopy看起來不像它會起作用,因爲我不能在主服務器中有重複的條目,並且如果由於某些條目已經存在而檢查約束條件,它會失敗。
我不把它放在答案上,因爲它不在C#中。如果你真的關心性能,我認爲最有效的方法是通過數據庫鏡像。 – Renan
一種可能性是做部分事務複製(http://stackoverflow.com/questions/495680/sql-server-transactional-replication-partial-data-only)。或者只是創建一個應用程序,完全爲你維護這個任務。 – mipe34
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –