我正在尝试远程访问旧的 SQL Server 2005 实例以便将一些数据移植到另一台服务器,但是在使用数据库管理员工具(DBeaver)时无法访问数据库。
通过远程桌面,我可以访问服务器并进行更改,并且我确认 Windows 防火墙确实已禁用,即便如此,由于连接超时,我似乎无法连接到数据库。这对我来说不是问题,因为我可以毫无问题地访问其他数据库服务器(MSSQL 和 MySQL/MariaDB)。
尝试从控制面板访问 Windows 防火墙选项时会弹出一个消息框,上面写着Windows Firewall cannot run because another program or service is running that might use the network address translation component (Ipnat.sys)
。快速谷歌搜索后发现这可能是 RRAS 的问题,但即使禁用该服务,防火墙服务也无法启动并被访问。
请注意,由于我的工作区使用 Linux 操作系统,因此我无法使用 Microsoft 的 SSMS。
远程系统使用Windows Server 2003。
我很感激任何关于此问题的帮助。
使用的工具:DBeaver 5.1.1、Remmina 远程桌面客户端
答案1
通过 RDP 连接到服务器并打开 SQL Server 配置管理器,然后导航到 SQL Server 网络配置,然后选择已安装实例的协议。在右侧窗口中检查 TCP/IP 并确保已启用。如果没有,请启用它并重新启动 SQL Server 服务。
答案2
如果 Windows 防火墙被禁用,您可以尝试以下步骤:
- 与服务器建立 RDP 连接
- 停止 SQL Browser 服务
- 更改 SQL Server 端口号。
有关端口号的信息可以在“SQL Server 配置管理器”中找到。
路径为“SQL Server 网络配置\[实例名称] 的协议”、“TCP/IP”、“TCP/IP 属性”对话框、“IP 地址”选项卡、“IPAll”部分。要更改端口号,只需将“TCP Dynamci 端口”留空。将“TCP 端口”设置为所需的端口号(可以是默认值 1433)。停止“SQLBrowser”服务并重新启动 SQL Server 服务。
完成这些步骤后,您可以尝试使用“server\instance,port”语法连接到 SQL 服务器。