我能否通过SSH隧道进行SQL Server 2005合并复制?

7
我们的使用场景是一个负责账户、会话、许可证等的数据库。客户端启动时需要对其进行轮询,因此高可靠性至关重要。因此,我们希望在物理上分离的不同服务器之间进行复制,以防整个数据中心发生故障。我已经成功地设置了一个推送订阅到同一网络中的另一台服务器,所以这通常有效。现在我需要让与网络外部的服务器连接起来。

直接跨越网络进行复制是行不通的。Microsoft 建议使用VPN或Web复制。后者让我觉得效率低下(而且他们说“注意:Web同步是为便携式计算机、手持设备和其他客户端同步数据而设计的。Web同步不适用于高容量的服务器对服务器应用程序。”)

前者,即VPN,可以工作,但我仍然认为这是一个不必要复杂的解决方案(更不用说增加了安全问题的可能性),需要持续运行VPN连接。 我更愿意只运行SSH隧道。然而,我找不到任何关于如何做到这一点并且不涉及MySQL的文章。

我在订阅服务器上设置了一个SSH服务器,并使用PuTTY从:1434到:1433建立了隧道。但是,我无法以这种方式连接SQL Server Management Studio(我不确定它是否支持:端口语法)。我还在的SQL Server配置管理器上设置了一个别名,@@servername为,指向localhost:1434。连接那里似乎也不起作用。
我使用了推送订阅选项,因此我认为发布者需要连接订阅者,而不是反过来。
两个服务器都使用默认实例,在Windows Server 2003 SP 2上运行SQL Server 2005 SP 2。订阅者上的SSH服务器是freeSSHd 1.2.1。
这可能吗?还有其他方法可以利用SSH假装机器存在于同一网络中吗?还是我必须使用VPN?

我在我的回答中添加了一些关于该域问题的词语。 - Philippe Grondier
3个回答

3
当您谈论服务器的不同位置时,是否也意味着不同的域名?您对Web复制的评论是正确的,但仅适用于对数据库进行的日常更改。您的初始快照可以是任何大小,即使它是一个巨大的数据库。如果您的每日更新有限(几千个似乎对我来说还可以),那就去做吧。很快!
编辑:
当您开始考虑在服务器之间交换数据时,存在重大的域/安全问题。如果您需要通过VPN或任何专用链接连接属于不同域的服务器,并且如果您不想通过SQL安全性(避免它!),您将面临特定的(和许可证!)与域信任相关的问题。 Web复制的聪明之处之一是通过https协议保护连接来避免这种问题(和额外成本)。

域名是相同的(虽然我不知道这有什么区别),但网络完全是独立的。我会调查一下 Web 复制并看看它是否足够好,谢谢! - Sören Kuklau

1
作为一名从业者,我认为SSH隧道(它是允许客户端调用自身以便调用服务器的)不会起作用。如果你打开了SSH隧道,你可能需要保持SSH会话处于打开状态。SSH并不是专门为长时间打开连接而设计的,因此它可能会失败。
最好的选择是一个合适的虚拟私人网络(不是那些收费10美元一年的互联网代理服务器)。如果您想要成本效益,可以使用OpenVPN。VPN的好处是所有这些节点(数据库服务器)都可以假装它们在同一个本地网络中,然后...它将起作用。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接