使用或不使用VPN同步SQL数据

使用或不使用VPN同步SQL数据,sql,sql-server,vpn,rras,Sql,Sql Server,Vpn,Rras,我编写了一个Windows应用程序,它将数据本地存储在SQL Server Express数据库中。它由来自远程位置的多个人使用,他们需要偶尔同步他们的数据。它只需要一个相当简单的表同步过程,我目前正在通过使用链接服务器将每个SQL Express安装链接到“中心”SQL Server来实现这一点。然后,我对远程数据运行查询,并根据需要添加/更新/删除。这真的很有效 然而,我有一个困难的时间与VPN连接,这是必须做到这一点。在开始同步过程之前,用户要做的第一件事是与服务器建立VPN连接(在Win

我编写了一个Windows应用程序,它将数据本地存储在SQL Server Express数据库中。它由来自远程位置的多个人使用,他们需要偶尔同步他们的数据。它只需要一个相当简单的表同步过程,我目前正在通过使用链接服务器将每个SQL Express安装链接到“中心”SQL Server来实现这一点。然后,我对远程数据运行查询,并根据需要添加/更新/删除。这真的很有效

然而,我有一个困难的时间与VPN连接,这是必须做到这一点。在开始同步过程之前,用户要做的第一件事是与服务器建立VPN连接(在Windows 2003上运行RRAS)。它在大多数情况下都工作得很好,但我遇到了很多恼人的问题,比如如果连接不稳定,VPN就会断开,AT&t蜂窝连接常常无法建立VPN连接(远程用户有时不得不使用这种方法),一个用户在家里有两台机器,由于路由器的限制,在给定时间只有一个用户可以有VPN连接。一些运行XP,其他Vista…这真的是一件痛苦的事,而VPN对我和用户来说是非常令人沮丧的

我有没有忽略的简单选项?我的第一个想法是使用webservice,但这需要通过webservice将我的所有数据传递给服务器进行处理。那不实际。另一个想法是在服务器上安装第二个SQL Server Express实例,让它在不同的端口上侦听,然后直接连接,而不是通过VPN连接(我甚至不确定这是否适用于SQL Express。会吗?)。我知道这对安全有影响,但有多大影响?这些数据本质上不是机密的,也不是关键任务。是否有更好的选择可以用最少的工作/学习完成

提前感谢您提出的任何建议

达维斯


提供用SSL加密封装网络连接的包装器。

您可以将数据作为附件使用电子邮件。您可以使用自动代理在服务器上处理电子邮件。以另一种方式分发更新可能会更困难-用户必须保存附件,然后运行本地导入程序。再加上他们决定何时这样做的时间问题可能很难解决。但它可能会更好地工作,这取决于您的用户群

服务代理怎么样?您将更新粘贴到一个XML有效负载中,用于将更改、消息上载到后端的一个过程中,它将XML有效负载剪切回表更新中。您可以在DMZ上放置一个Express实例作为网关,并依赖于内置的。由于ServiceBroker可以使用,因此不需要VPN。此外,您还可以解决可用性问题,只要存在连接,更新就会排队并交付