我有一个数据库服务器,充当主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/)”,其中的共识是“不,他们不应该”。 –