将数据从客户端的本地数据库来回传送到/来自我们的Web服务器数据库的最佳方法是什么?

时间:2012-04-05 21:03:42

标签: c# .net sql-server-2008-r2

我的问题是:从我们客户的本地数据库到我们的网络服务器数据库来回传输数据的最佳方法是什么?

问题的解释:

我们的客户根据我们的SQL Server 2008 R2数据库的本地副本运行我们的软件。我们经常(每天一次,半夜)需要为每个客户端(即视图)组合存储在多个表中的字段,并通过互联网将该信息发送到我们将托管在我们的SQL Server 2008 R2数据库上网络服务器。我们的每个客户都可能拥有数万条记录,我们需要将这些记录移植到我们的网络服务器数据库。 此信息将允许我们客户的客户进行付款和下订单。我们将这些事务存储在Web服务器数据库的一个或多个表中。我们需要定期将这些事务记录推送回客户端的本地数据库。然后,客户端将处理这些事务并更新我们在晚上推送到我们的网络服务器数据库的记录。

我是一个非常小的商店里的C#程序员。我的第一个想法是编写一个Windows服务来控制来回移植数据。这需要在我们每个客户端的服务器上安装服务。我担心我们能够轻松维护和扩展该服务。特别是,当我们决定来回移植更多数据时,这需要更新每个客户端站点的服务。鉴于我们的商店规模,这将成为一个严峻的挑战。

我更愿意通过SQL Server管理此过程,最好是在我们的网络服务器上的SQL服务器实例上。但是,我们没有人对SQL Server有广泛的了解。 (我是SQL Server的大师,我知道这很危险。)我们的一些客户是非常小的公司,只在他们的服务器上安装了SQL Server Express。我们做了一些复制实验,但从来没有找到一种方法让它在互联网上可靠地运行,尤其是SQL Server Express。

我已经阅读了一些关于SSIS,链接服务器,Service Broker和第三方工具的信息,例如RedGate的SQL Compare。我不确定这些选项中哪些(如果有的话)最符合我们的需要,并且没有找到明确的例子来说明如何利用每个选项。

非常感谢有关此问题的任何指导。如果你能指出相关的例子来说明如何做我上面描述的事情,那将特别有用。

1 个答案:

答案 0 :(得分:1)

快点,
一个选项是使用MS Sync Framework - 它确实可以看到您需要的内容,但不确定您的具体情况。
希望这有帮助