这个错误通常发生在尝试使用TCP/IP协议连接到本地SQL Server实例时。以下的攻略可能会帮助你解决此问题:
确认SQL Server服务状态
首先确保你的SQL Server服务正在运行。在Windows上,你可以通过以下步骤来检查:
- 打开“服务”窗口,可以通过按下Win+R键并输入“services.msc”打开;
- 找到SQL Server服务(例如,"SQL Server(MSSQLSERVER)");
- 检查状态列,确保服务正在运行。
如果服务未运行,尝试启动服务。
确认SQL Server是否允许远程连接
SQL Server默认情况下不允许远程连接,因此如果你尝试从远程计算机连接到SQL Server时,你需要确保SQL Server已配置为允许远程连接。以下是检查和启用此设置的步骤:
- 打开SQL Server Configuration Manager,可以通过在Windows开始菜单中搜索“SQL Server Configuration Manager”来找到它;
- 在左侧面板中,展开“SQL Server Network Configuration”;
- 选择“Protocols for [SQL Server Instance Name]”,例如,“Protocols for MSSQLSERVER”;
- 右键单击“TCP/IP”,然后选择“Properties”;
- 在“TCP/IP Properties”窗口的IP地址选项卡中,确保“IPALL”部分下的“TCP Dynamic Ports”值设置为“0”(表示使用默认端口1433);
- 在IPALL部分下找到“TCP Port”属性,并将值设置为“1433”;
- 单击“OK”以保存更改;
- 重启SQL Server服务使更改生效。
确认SQL Server端口是否开放
如果SQL Server已配置为允许远程连接,并且你仍然无法连接到SQL Server,则可能需要确认服务器上的防火墙是否已允许端口1433通过。以下是在Windows防火墙中配置出站规则来允许端口1433的步骤:
- 打开“Windows Defender 防火墙”设置,可以通过在Windows开始菜单中搜索“Windows Defender 防火墙”来找到它;
- 单击“高级设置”;
- 在左侧面板中,选择“出站规则”;
- 在右侧面板中,单击“新建规则...”;
- 在“新建出站规则向导”中,选择“端口”并单击“下一步”;
- 选择“TCP”并输入“1433”作为端口号,单击“下一步”;
- 选择“允许连接”并单击“下一步”;
- 选择你需要应用此规则的范围(例如,“所有网络连接”),单击“下一步”;
- 输入名称(例如,“允许 SQL Server 端口”)并单击“完成”;
- 尝试重新连接。
示例1:配置允许TCP/IP远程连接
例如,在默认情况下,SQL Server不允许远程连接,如果你需要在远程计算机上连接到SQL Server,则需要在SQL Server上配置允许TCP/IP远程连接。
步骤如下:
- 在SQL Server Configuration Manager中,选择SQL Server Network Configuration;
- 展开“Protocols for MSSQLSERVER”;
- 确认TCP/IP协议已启用;
- 右键单击TCP/IP协议,选择“Properties”;
- 在“TCP/IP Properties”窗口中的“IPALL”选项卡中,可以看到“TCP Dynamic Ports”的值设置为“0”,而“TCP Port”设置为“1433”;
- 单击“OK”保存更改;
- 执行“SQL Server Browser”服务;
- 使用SQL Server Management Studio连接时,在服务器名称的前面添加“IP地址”,例如:“IP地址\SQLExpress”;
- 如果你使用的是默认实例,则只需使用IP地址,例如:“IP地址”即可。
示例2:SQL Server端口由于防火墙原因被阻止
如果SQL Server端口由于防火墙原因被阻止,在Windows Defender防火墙中,需要创建一个新的入站规则,开放端口1433:
- 打开Windows Defender防火墙;
- 选择“New Rule”;
- 选择“Port”和“TCP”;
- 在“specific local ports”字段中输入“1433”;
- 选择“Allow the connection”;
- 选择“Domain”, “Private” and “Public”;
- 输入一个规则名称;
- 单击“Finish”按钮。
如果你使用的是其他防火墙,则可以根据其手册进行配置。
希望这些攻略可以帮助你解决“通过端口1433连接到主机127.0.0.1的TCP/IP连接失败,错误:‘connect timed out'”的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:通过端口1433连接到主机127.0.0.1的 TCP/IP 连接失败,错误:“connect timed out”的解决方法 - Python技术站