我们的使用场景是一个负责账户、会话、许可证等的数据库。客户端启动时需要对其进行轮询,因此高可靠性至关重要。因此,我们希望在物理上分离的不同服务器之间进行复制,以防整个数据中心发生故障。我已经成功地设置了一个推送订阅到同一网络中的另一台服务器,所以这通常有效。现在我需要让与网络外部的服务器连接起来。
我使用了推送订阅选项,因此我认为发布者需要连接订阅者,而不是反过来。
两个服务器都使用默认实例,在Windows Server 2003 SP 2上运行SQL Server 2005 SP 2。订阅者上的SSH服务器是freeSSHd 1.2.1。
这可能吗?还有其他方法可以利用SSH假装机器存在于同一网络中吗?还是我必须使用VPN?
直接跨越网络进行复制是行不通的。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?