安全数据库分发到外部客户端

时间:2009-10-16 15:21:50

标签: sql database synchronization

我们希望将数据从我们的Datawarehouse(MS SQL Server)分发/同步到外部客户(也是MS SQL Server)。连接必须是安全的,因为我们正在处理可信数据。从我们的系统到外部客户端系统的数据传输必须通过http / https

此外,客户端仍然可以使用较旧的数据库模式运行其系统,因此应该传输现有的表和列,并且应忽略不存在的表和列。

我们最有可能拥有大型数据库更新,而且更新必须几乎实时到达。

数据必须存储在客户端数据仓库/ SQL数据库中。

如果出现问题,整个过程还应包括良好的监控可能性。

我们开始开发自己的.NET解决方案,但我认为在不同系统之间交换数据几乎是一个常见的问题。

有人知道我们可以适应我们场景的现有解决方案吗?

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

只需通过安全VPN或SSH隧道使用常规SQL连接即可。应该很容易为你的网络人员设置。

例如,您可以创建链接服务器。然后,SQL预定作业可以移动数据:

truncate table targetserver.dbname.dbo.tablename

insert into targetserver.dbname.dbo.tablename
select a, b, c
from dbname.dbo.sourcetable

由于链接服务器通过VPN或SSH隧道与您的服务器通信,因此所有数据都通过Internet加密发送。

答案 1 :(得分:1)

问题非常普遍,它在SQL Server中有一个专用组件:Service Broker。而不是启动你自己的.Net事情并处理许多问题(你将如何处理停机时间?重试?重复?无序交付?非域加入计算机的身份验证?路由为更改名称的机器?服务升级?事务一致性,回滚?你会使用dtc吗?)。您可以查看我给SQL connections的演示,看看如何在商用硬件上轻松地将SSB扩展到超过1000 msgs / sec(1k有效载荷)的吞吐量。

唯一的要求是所有partitcipant必须至少是SQL Server 2005(2000年没有SSB)。