SQLServer:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。……

本文详细介绍了在使用SpringBoot连接SQLServer数据库时遇到的TCP/IP连接失败问题及其解决方案。包括检查SQLServer服务是否运行,配置TCP/IP,检查端口设置及重启服务等步骤。

SQLServerException:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。……

今天在自己电脑上做个springboot小练习,重新装的sql server数据库,在连接数据库时报错,问题如下:

问题描述

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。

解决方法

1.首先查看sql server是否正在运行,即服务是否启动。
步骤1:打开SQL Server Management Studio所在位置,打开配置工具文件夹。
sql server配置文件
步骤2:找到sql server配置管理器,双击打开
sql server配置管理器
步骤3:点击SQL Server服务,查看SQL Server服务是否开启。如果状态是已停止,右键点击启动。
SQL Server服务
2.2.然后主要是异常中所描述的tcp问题:连接到主机 localhost 的 TCP/IP 连接失败。
步骤:点击SQL Server网络配置,选择TCP/IP,如果状态为已禁用,双击TCP/IP,把已启动改为是。
sql server的tcp/ip
开启TCP/IP
3.tcp修改后为已启用状态。如果还没有解决问题。可以考虑异常中描述:通过端口 1433 连接到主机……失败。
步骤:右键查看TCP/IP属性,协议与IP地址,看看端口的配置情况。

4.最后完成所有修改操作结束后,右键选择重新启动sqlserver服务
重启服务

参考

https://blog.youkuaiyun.com/niaonao/article/details/53897486

### 配置Windows防火墙以允许端口1433通信 在Windows系统中,端口1433通常用于SQL Server数据库通信。为了确保外部设备或应用程序能够通过该端口与本地SQL Server进行交互,需要在Windows防火墙中配置入站规则以允许该端口的流量通过。 #### 通过图形界面配置防火墙规则 1. **打开Windows Defender防火墙高级设置** - 在Windows搜索栏中输入“防火墙”,选择“Windows Defender 防火墙”并打开。 - 点击左侧的“高级设置”以进入防火墙规则管理界面。 2. **新建入站规则** - 在“高级设置”窗口中,选择左侧的“入站规则”,然后点击右侧的“新建规则”。 - 在规则类型选择界面中,选择“端口”并点击“下一步”。 3. **配置端口和协议** - 选择“TCP”作为协议类型(SQL Server通常使用TCP协议)。 - 在“特定本地端口”字段中输入`1433`。 - 点击“下一步”继续。 4. **选择操作** - 选择“允许连接”以允许通过该端口的流量。 - 点击“下一步”继续。 5. **选择网络位置** - 选择规则适用的网络类型。如果在局域网环境中使用SQL Server,可以选择“域”或“专用”;如果在公共网络上使用,则勾选“公用”。 - 点击“下一步”继续。 6. **命名规则并完成** - 输入规则的名称,例如“SQL Server 端口 1433”,并添加可选的描述。 - 点击“完成”以保存并应用规则。 #### 通过命令行配置防火墙规则 如果希望使用命令行快速配置规则,可以使用`netsh`命令来创建入站规则。 1. **打开命令提示符(以管理员身份运行)** - 在Windows搜索栏中输入“cmd”,右键点击“命令提示符”,选择“以管理员身份运行”。 2. **执行命令创建入站规则** 输入以下命令来创建允许TCP端口1433的入站规则: ```bash netsh advfirewall firewall add rule name="Open Port 1433" dir=in action=allow protocol=TCP localport=1433 ``` - `name`参数定义规则名称。 - `dir=in`表示该规则适用于入站流量。 - `action=allow`表示允许流量通过。 - `protocol=TCP`指定协议类型。 - `localport=1433`指定开放的端口号。 3. **验证规则是否创建成功** 输入以下命令查看所有入站规则,并确认规则是否已正确添加: ```bash netsh advfirewall firewall show rule name="Open Port 1433" ``` #### 验证端口是否开放 为了确认端口1433已成功开放,可以使用以下方法进行验证: 1. **使用PowerShell测试端口连通性** 在本地或远程设备上运行以下PowerShell命令,测试是否可以连接到端口1433: ```powershell Test-NetConnection <本地IP地址> -Port 1433 ``` 如果返回结果中的`TcpTestSucceeded`为`True`,则表示端口已开放且可以正常通信。 2. **检查SQL Server配置** 确保SQL Server配置为监听端口1433,并且SQL Server服务正在运行。可以通过SQL Server配置管理器检查网络协议设置。 - 打开“SQL Server配置管理器”。 - 展开“SQL Server网络配置”,选择“协议”。 - 确保“TCP/IP”已启用,并且在“IP地址”选项卡中确认端口1433已配置。 如果SQL Server未配置为监听该端口,则需要调整配置并重启服务[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值