从 WSL 2/Ubuntu sqlcmd 连接到 Windows 主机上的 SQL 服务器 运行
Connect to SQL Server running on Windows host from a WSL 2/Ubuntu sqlcmd
我有一个宿主运行 Windows 10、WSL 2.我的客人是Ubuntu.
我正在尝试使用 sqlcmd
连接到主机上的 SQL 服务器 运行,但我不确定在连接中使用哪个 IP?
我已经 exposed/enabled 主机 Windows SQL 服务器上的 SQL 配置管理器中的所有内容,我正在使用这样的命令尝试连接:
sqlcmd -S 127.0.0.1 -U sa -P pass
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
您是否尝试在 /etc/resolv.conf 上查看 IP?
尝试使用那个连接,例如:sqlcmd -S 192.168.202.65 -U sa -P pass
这是因为this
除了使用来自 /etc/resolv.conf
的 IP 外,您还必须在 Windows 防火墙 中打开 1433
端口。
新规则-端口-下一步-特定端口:1433-下一步-允许-下一步-下一步-名称“WSL2sql”
注意:您刚刚打开了面向整个世界的端口,因此请仅在需要时启用/禁用此规则,或将此规则限制为您的 WSL2 IP 地址(双击规则 - 范围 - 远程 IP 广告 -添加您的 WSL2 地址。要在 windows cmd shell)
中查找您的 wsl 主机地址类型 wsl hostname -I
P.S。另请注意,某些 VPN 软件也可能会中断 WSL2/Windows 网络连接。关闭您的 VPN。
启用 "Virtual Machine Monitoring" 对我有用。这四个防火墙规则位于入站列表中,名称以“虚拟机监控”开头:
- 回应请求(ICMPv4/v6)
- RPC
- DCOM 输入
- NB-会话中
它们似乎默认被禁用,一旦我启用它们,我就能够使用 WSL 生成的 IP 地址 ping 主机以及连接到我的主机 sql 服务器服务 resolv.conf 文件 --
cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 1xx.1xx.1xx.1xx
我有一个宿主运行 Windows 10、WSL 2.我的客人是Ubuntu.
我正在尝试使用 sqlcmd
连接到主机上的 SQL 服务器 运行,但我不确定在连接中使用哪个 IP?
我已经 exposed/enabled 主机 Windows SQL 服务器上的 SQL 配置管理器中的所有内容,我正在使用这样的命令尝试连接:
sqlcmd -S 127.0.0.1 -U sa -P pass
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
您是否尝试在 /etc/resolv.conf 上查看 IP?
尝试使用那个连接,例如:sqlcmd -S 192.168.202.65 -U sa -P pass
这是因为this
除了使用来自 /etc/resolv.conf
的 IP 外,您还必须在 Windows 防火墙 中打开 1433
端口。
新规则-端口-下一步-特定端口:1433-下一步-允许-下一步-下一步-名称“WSL2sql”
注意:您刚刚打开了面向整个世界的端口,因此请仅在需要时启用/禁用此规则,或将此规则限制为您的 WSL2 IP 地址(双击规则 - 范围 - 远程 IP 广告 -添加您的 WSL2 地址。要在 windows cmd shell)
中查找您的 wsl 主机地址类型wsl hostname -I
P.S。另请注意,某些 VPN 软件也可能会中断 WSL2/Windows 网络连接。关闭您的 VPN。
启用 "Virtual Machine Monitoring" 对我有用。这四个防火墙规则位于入站列表中,名称以“虚拟机监控”开头:
- 回应请求(ICMPv4/v6)
- RPC
- DCOM 输入
- NB-会话中
它们似乎默认被禁用,一旦我启用它们,我就能够使用 WSL 生成的 IP 地址 ping 主机以及连接到我的主机 sql 服务器服务 resolv.conf 文件 --
cat /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 1xx.1xx.1xx.1xx