如何以可访问SQL Server的慢速PC为桥接,在高速PC上运行查询请求
可行方案说明
该场景完全可通过端口转发/隧道/中转实现,以下是3种成熟可落地的方案,按操作便捷性排序:
方案1:TCP端口转发(全平台通用,优先推荐)
原理是把慢速PC可连通的SQL Server端口映射到慢速PC的本地端口,开放给高速PC访问,全程为TCP层转发,性能损耗最小。
操作步骤:
- 先在慢速PC上执行
telnet SQL_SERVER_IP 1433确认目标SQL Server端口连通(SQL Server默认端口为1433,自定义端口替换对应数值即可) - 若慢速PC为Windows系统,用管理员权限打开CMD,执行系统自带的netsh工具配置端口转发:
netsh interface portproxy add v4tov4 listenaddress=慢速PC局域网IP listenport=1433 connectaddress=SQL_SERVER_IP connectport=1433 - 配置慢速PC的防火墙入站规则,放行1433端口,仅允许高速PC的IP访问即可
- 高速PC上直接把SQL Server连接地址配置为
慢速PC局域网IP:1433,就能直接发起查询
注意:netsh配置的端口转发规则为系统持久化规则,重启慢速PC无需重新配置;需要删除规则时执行netsh interface portproxy delete v4tov4 listenaddress=慢速PC局域网IP listenport=1433即可
方案2:SSH隧道(适合跨公网/需要加密传输的场景)
如果两台PC跨公网连接,或者需要加密传输流量,可通过SSH隧道实现,不需要额外开放数据库端口到公网。
操作步骤:
- 先在慢速PC上安装启用SSH服务:Windows可在「设置-系统-可选功能」中安装OpenSSH服务器,Linux/macOS系统默认自带SSH服务,直接启用即可
- 在高速PC上执行SSH端口转发命令:
ssh -L 1433:SQL_SERVER_IP:1433 慢速PC账号@慢速PC的可访问IP - 保持SSH会话不中断,高速PC上直接配置SQL Server连接地址为
127.0.0.1:1433,即可访问目标SQL Server
注意:需要后台保持SSH隧道的话,可在命令后加-fN参数,会话会转入后台运行
方案3:SQL Server链接服务器中转(仅适配SQL查询场景)
如果慢速PC上已经部署了SQL Server实例,可通过链接服务器功能做查询中转,不需要修改系统网络配置。
操作步骤:
- 在慢速PC的本地SQL Server上创建指向目标SQL Server的链接服务器,配置好访问账号权限
- 开放慢速PC本地SQL Server的访问权限给高速PC
- 高速PC连接到慢速PC的SQL Server,通过链接服务器前缀语法执行查询即可,示例语句:
SELECT * FROM [自定义链接服务器名].[目标数据库名].[dbo].[目标表名]
注意:此方案所有查询需要经过慢速PC的SQL Server实例中转计算,性能损耗比前两种方案大,仅适合临时轻量查询场景
内容的提问来源于stack exchange,提问作者Rago
相关产品推荐
相关产品推荐

