
有時我需要檢查另一個位置的 MS SQL Server 中的一些資料。
目前,這需要進行資料庫備份,將其移至另一台伺服器,以便我可以下載檔案.bak
並在本機電腦上還原。但資料庫正在成長,所以這開始變得很痛苦。
Win 7 -> Linux -> Windows Server 2008 with SQL Server
是否可以(以及如何?)為 MS SQL Management Studio建立隧道?
Linux 和 Windows Server 位於另一個位置的相同網路上。只有 Linux 伺服器對外可見。
不幸的是我無法在任何機器上進行任何更改。
我嘗試透過 Putty 使用 SSH 隧道,但失敗了。
答案1
在win7機器上,開啟putty並為linux ssh會話設定以下設定:連接->SSH->隧道->來源連接埠:1433,目標:192.168.0.3:1433,選擇本機單選按鈕。
現在您應該能夠從 win7 機器連接到 localhost:1433。
答案2
是的,這應該是可能的。看一看這裡, 例如。如果您需要協助設定隧道,您需要提供更多資訊。
答案3
嗯,如果您可以向 Linux 伺服器的 iptables 添加新規則,那麼您可以透過簡單的連接埠轉送來完成此操作。但請注意,這非常危險,因為您將使您的資料庫從互聯網上可見。當然,只有當您需要連接資料庫伺服器並使用一些非標準連接埠時,才可以啟用連接埠轉送。這是您必須在 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 是您將嘗試連接的網路或電腦的 IP
PORTNUMBER1 是您希望資料庫對您可見的連接埠(您可以設定一些非標準連接埠)
IPOFDATASERVER:PORTNUMER2 這是您的資料庫伺服器的 IP 和連接埠。
答案4
根據 FINESEC 的評論,您可能會收到「連線主動拒絕」錯誤。
我設法透過檢查隧道下 Putty 中的「本機連接埠接受來自其他主機的連線」和「遠端 posrts 執行相同操作」複選框來解決此問題。萬一有人發現有用。