有一段时间,我需要检查另一个位置的MS SQL Server中的一些数据。
至于现在这需要做数据库备份,移动到另一台服务器,所以我可以下载.bak文件,并在本地机器上恢复。 但数据库正在增长,所以这开始是一个痛苦。
是否有可能(以及如何?) Win 7 -> Linux -> Windows Server 2008 with SQL Server MS SQLpipe理工作室的Win 7 -> Linux -> Windows Server 2008 with SQL Server隧道Win 7 -> Linux -> Windows Server 2008 with SQL Server ?
Linux和Windows Server在其他位置在同一个networking上。 只有Linux服务器在外部可见。
不幸的是,我不能在任何机器上做任何改变。
我通过腻子尝试SSH隧道,但失败了。
在win7机器上,打开putty,为linux ssh会话设置如下设置:Connection-> SSH-> Tunnels-> Source port:1433,Destination:192.168.0.3:1433,select本地单选button。
现在你应该能够从win7机器连接到localhost:1433。
是的,这应该是可能的。 看看这里 ,例如。 如果您需要帮助build立隧道,则需要提供更多信息。
嗯,如果你可以添加新的规则到iptables的Linux服务器,那么你可以通过简单的端口转发来完成这一点。 但请注意,这是非常危险的,因为您将使您的数据库在互联网上可见。 当然,只有当您需要连接到数据库服务器并使用一些没有标准端口时,才能启用端口转发。 这是你必须在Linux机器上的iptables的规则:
-A PREROUTING -p tcp -m tcp -s IPOFYOURNETWORK --dport PORTNUMBER1 -j DNAT --to-destination IPOFDATASERVER:PORTNUMER2 -A POSTROUTING -d IPOFDATASERVER -j MASQUERADE
IPOFYOURNETWORK是您将尝试连接的networking或计算机的IP地址
PORTNUMBER1是你希望你的数据库可见的端口(你可以设置一些没有标准的端口)
IPOFDATASERVER:PORTNUMER2它是您的数据库服务器的IP和端口。
按照FINESEC的评论,你可能会得到“连接积极拒绝”的错误。
我设法解决它在检查“本地端口接受来自其他主机的连接”和“远程posrts做相同的”checkbox在隧道下的腻子。 如果有人认为这有用。