解决idea无法连接SQL Server,配置SQL Server的命名管道和TCP/IP设置

介绍

在本技巧中,我们将在Windows机器上配置Microsoft SQL Server以侦听特定的TCP端口。我们将启用TCP/IP和命名管道并配置防火墙规则,以便其他网络计算机可以与SQL Server实例进行通信。

先决条件

  • 机器上安装了Microsoft SQL Server。

配置命名管道和TCP/IP协议

让我们首先为SQL Server配置命名管道TCP/IP。我已在本地计算机上安装SQL Server 2019。

1

从“开始”菜单打开SQL Server配置管理器。

2

让我们首先为SQL Server实例启用命名管道(在我的例子中是MSSQLSERVER)。转到SQL Server网络配置(在控制台窗格中)并单击MSSQLSERVER的协议

 3 

在详细信息窗格(右侧面板)中,右键单击命名管道协议,然后单击启用以启用该特定SQL实例的命名管道。

第 4 步

接下来,我们将为SQL Server实例启用TCP/IP连接。因此,右键单击TCP/IP协议并单击启用选项。

 5 

现在再次右键单击TCP/IP协议,然后单击属性选项。

 6 

现在您可以看到TCP/IP属性窗口,单击“协议选项卡,在“全部侦听属性中选择” 

 7 

现在单击IP地址选项卡,向下滚动到IPALL部分。现在将TCP动态端口属性的值更改为空白。如果其值为零,则数据库引擎将侦听动态端口。接下来,在TCP Port属性中,输入您希望此IP地址侦听的端口号(在我的例子中为1717),然后单击OK按钮。您还可以通过用逗号分隔多个端口来指定它们。

注意:如果您想使用单个IP地址(IP n部分),请在“协议选项卡中将侦听所有属性设置为“” 。在这里,我想使用IPAll部分,因此,我在Protocol选项卡中将Listen All属性设置为Yes 

 8 

以上配置只有在我们重启SQL Server Instance服务后才会生效。所以现在从控制台窗格中选择SQL Server Services选项。

 9 

现在,从详细信息窗格中右键单击SQL Server ( MSSQLSERVER ),然后单击重新启动按钮以重新启动SQL Server服务。

我们已经使用SQL Server配置管理器成功地配置了SQL Server数据库引擎实例以侦听特定的固定端口。接下来,我们需要配置一个防火墙,以便我们指定的端口(在我的例子中是1717)可以在防火墙中打开。

允许SQL端口的防火墙配置

现在我们已经将SQL Server配置为侦听特定端口,我们需要在防火墙中打开该特定端口。让我们看看如何配置防火墙。

1

从开始菜单打开Windows Defender防火墙。

2

您将在控制面板中看到Windows Defender防火墙窗口。单击左侧面板中的高级设置链接。

 3 

现在您将看到具有高级安全性的Windows Defender防火墙窗口。单击左侧面板中的入站规则,然后单击右侧面板中的新建规则按钮。

 4 

现在您将看到新建入站规则向导窗口。在Rule Type步骤中,选择Port ,因为我们希望允许来自防火墙的SQL端口1717,然后单击Next按钮。

 5 

协议和端口步骤中,选择特定本地端口并在文本框中输入我们的 SQL 端口 1717,然后单击下一步按钮。

 6 

操作步骤中,选择允许连接并单击下一步按钮。

 7 

Profile步骤中,选中所有复选框并单击Next按钮。

 8 

Name步骤中,为规则指定一个有意义的名称并提供描述,然后单击Finish按钮。

 9 

现在您可以看到我们的新规则列在入站规则列表中。

优秀!我们已成功配置防火墙,从外部打开数据库实例连接的SQL端口。

预期错误/问题

有时,即使在进行了上述配置后,您也可能会在与外部SQL Server实例的连接中遇到一些问题/错误。请确保:

  1. SQL Server Configuration Manager的控制台窗格中,单击SQL Server Services,确保SQL Server Browser服务正在运行。
  2. 如果您分配了1433以外的SQL端口,则必须在SQL连接时在服务器名称中指定端口号。例如,在我的例子中,cloude-desire-01, 1717

结论

如您所见,如果您准确地按照上述步骤操作,很容易在特定端口上为SQL Server实例配置外部访问。

Configure Named Pipe and TCP/IP Settings of SQL Server - CodeProject

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值