【发布时间】:2010-09-19 04:07:22
【问题描述】:
我们的用例是一个负责帐户、会话、许可证等的数据库——它需要在客户端启动时进行轮询,因此高可靠性至关重要。因此,我们希望在物理上独立的网络中跨不同服务器进行复制,以防整个数据中心发生故障。我已经成功设置了对同一网络中另一台服务器的推送订阅,所以这通常有效。我现在需要连接到网络外部的服务器。
复制不能直接跨网络工作。微软suggests either a VPN or web replication。后者让我觉得效率低下(他们确实说“注意:Web 同步是为与便携式计算机、手持设备和其他客户端同步数据而设计的。Web 同步不适用于大容量的服务器到服务器应用程序。”)
前者,VPN,可以工作,但我仍然认为它是一个不必要的复杂解决方案(更不用说增加的安全问题的可能性),以持续运行 VPN 连接。 我宁愿只运行一个 SSH 隧道。 但是,我找不到任何文章解释如何执行此操作并且与 MySQL 无关。
我在订阅服务器上设置了 SSH 服务器,并使用 PuTTY 建立了从 <publisher>:1434 到 <subscriber>:1433 的隧道。但是,我无法让 SQL Server Management Studio 以这种方式连接(我不确定它是否支持 : 端口语法)。我还在<publisher> 的SQL Server 配置管理器上设置了一个别名,@@servername 的<subscriber> 指向localhost:1434。连接到那个似乎也不起作用。
我使用了推送订阅选项,所以我认为发布者需要连接到订阅者,而不是反过来。
两台服务器均使用默认实例,并在 Windows Server 2003 SP 2 上运行 SQL Server 2005 SP 2。订阅服务器上的 SSH 服务器为 freeSSHd 1.2.1。
这可能吗?有没有另一种方法可以利用 SSH 假装机器存在于同一个网络中?还是我必须使用 VPN?
【问题讨论】:
-
我在回答中添加了一些关于这个域问题的文字
标签: sql-server-2005 ssh replication vpn tunnel