目录

介绍

先决条件

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

允许SQL端口的防火墙配置

预期错误/问题

结论


在本技巧中,我们将了解如何启用TCP/IP和命名管道并配置防火墙规则,以便其他网络计算机可以与SQL Server实例进行通信。

介绍

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

先决条件

  • 机器上安装了Microsoft SQL Server。

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

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

1

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

sql server命名实例怎么用java连接 sql2019命名实例_SQL

2

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_02

3

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_03

第 4 步

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_04

5

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

sql server命名实例怎么用java连接 sql2019命名实例_sqlserver_05

6

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_06

7

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

sql server命名实例怎么用java连接 sql2019命名实例_Server_07

注意:如果您想使用单个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防火墙。

sql server命名实例怎么用java连接 sql2019命名实例_sqlserver_08

2

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_09

3

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

sql server命名实例怎么用java连接 sql2019命名实例_sqlserver_10

4

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

5

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

sql server命名实例怎么用java连接 sql2019命名实例_Server_11

6

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

sql server命名实例怎么用java连接 sql2019命名实例_数据库_12

7

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

8

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

sql server命名实例怎么用java连接 sql2019命名实例_windows_13

9

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

sql server命名实例怎么用java连接 sql2019命名实例_SQL_14

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

预期错误/问题

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

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

结论

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

https://www.codeproject.com/Articles/5316128/Configure-Named-Pipe-and-TCP-IP-Settings-of-SQL-Se