第 2 课:从其他计算机进行连接
适用范围:SQL Server
为了增强安全性,SQL Server Developer、Express 和 Evaluation 版本的数据库引擎在初始安装后不能从其他计算机对其进行访问。 本课介绍如何启用协议,配置端口以及配置 Windows 防火墙,以便从其他计算机进行连接。
本课程包含以下任务:
启用协议
为了增强安全性,SQL Server Express、Developer 和 Evaluation 版本仅安装有限的网络连接。 可以从同一台计算机上运行的工具连接到数据库引擎,但不能通过其他计算机进行连接。如果计划在与数据库引擎相同的计算机上执行开发工作,则无需启用其他协议。 Management Studio 通过使用共享内存协议连接到数据库引擎。 此协议已经启用。
如果计划从其他计算机连接到数据库引擎,则必须启用一个协议,例如 TCP/IP。
如何从其他计算机启用 TCP/IP 连接
在“开始”菜单中,依次指向“所有程序”、“Microsoft SQL Server”和“配置工具”,然后选择“SQL Server 配置管理器”。
注意
查看是否同时提供 32 位和 64 位选项。
版本 路径 SQL Server 2022 (16.x) C:\Windows\SysWOW64\SQLServerManager16.msc
SQL Server 2019 (15.x) C:\Windows\SysWOW64\SQLServerManager15.msc
SQL Server 2017 (14.x) C:\Windows\SysWOW64\SQLServerManager14.msc
SQL Server 2016 (13.x) C:\Windows\SysWOW64\SQLServerManager13.msc
SQL Server 2014 (12.x) C:\Windows\SysWOW64\SQLServerManager12.msc
SQL Server 2012 (11.x) C:\Windows\SysWOW64\SQLServerManager11.msc
在 SQL Server 配置管理器中,展开“SQL Server 网络配置”,然后选择“<InstanceName 协议>”。
默认(未命名)实例作为
MSSQLSERVER
列出。 如果您已经安装了某个命名实例,则您提供的名称将会列出。 SQL Server Express 作为SQLEXPRESS
安装,除非你在安装过程中更改了该名称。在协议列表中,右键单击要启用的协议 (TCP/IP),然后单击“启用”。
注意
对网络协议进行更改后重启 SQL Server 服务;但此操作将在下一任务中完成。
配置固定端口
为了增强安全性,Windows 和 Windows Server 均打开了 Windows 防火墙。 在您从其他计算机连接到此实例时,必须打开防火墙中的通信端口。 数据库引擎的默认实例侦听端口 1433;因此,无需配置固定端口。 不过,包括 SQL Server Express 的命名实例会侦听动态端口。 打开防火墙的端口之前,必须首先将数据库引擎配置为侦听特定端口(称为固定端口或静态端口);否则,数据库引擎可能会在每次启动时侦听不同的端口。 有关防火墙、默认 Windows 防火墙设置的更多信息以及有关影响数据库引擎、Analysis Services、Reporting Services 和 Integration Services 的 TCP 端口的说明,请参阅“配置 Windows 防火墙以允许 SQL Server 访问”。
注意
Internet 号码分配机构负责管理端口号的分配,并在 https://www.iana.org 上列出这些端口号。端口号分配的起止范围为 49152 至 65535。
配置 SQL Server 以侦听特定端口
在 SQL Server 配置管理器中,展开“SQL Server 网络配置”,然后选择要配置的服务器实例。
在右窗格中,双击 TCP/IP。
在“TCP/IP 属性”对话框中,选择“IP 地址”选项卡。
在 IP All 部分的“TCP 端口”框中,键入可用的端口号。 在本教程中,我们使用
49172
。选择“确定”关闭对话框,然后对于必须重启服务的警告,选择“确定”。
在左侧窗格中,选择“SQL Server Services”。
在右窗格中,右键单击 SQL Server 实例,然后选择“重启”。 当数据库引擎重启时,将侦听端口
49172
。
在防火墙中打开端口
防火墙系统有助于阻止对计算机资源进行未经授权的访问。 若要在防火墙打开时从其他计算机连接到 SQL Server,必须打开防火墙的端口。
重要
打开防火墙端口可能会使服务器受到恶意攻击。 请确保在打开端口之前了解防火墙系统。 有关详细信息,请参阅 Security Considerations for a SQL Server Installation。
将数据库引擎配置为使用固定端口后,请按照下列说明在 Windows 防火墙中打开该端口。 (无需为默认实例配置固定端口,因为其默认为 TCP 端口 1433。)
打开 Windows 防火墙的端口以进行 TCP 访问 (Windows 7)
在“开始”菜单上,选择“运行”,键入 WF.msc,然后选择“确定”。
在“高级安全 Windows 防火墙”的左窗格中,右键单击“入站规则”,然后在操作窗格中选择“新建规则”。
在“规则类型”对话框中,选择“端口”,然后选择“下一步”。
在 “协议和端口” 对话框中,选择 TCP。 选择“特定本地端口”,然后键入数据库引擎实例的端口号。 为默认实例键入 1433。 如果要配置命名实例,并在上一个任务中配置固定端口,则键入 49172。 选择下一步。
在“操作”对话框中,选择“允许连接”,然后选择“下一步”。
在“配置文件”对话框中,选择在你想要连接到 数据库引擎 时描述计算机连接环境的任何配置文件,然后选择“下一步”。
在“名称”对话框中,键入此规则的名称和说明,然后选择“完成”。
打开 Windows 防火墙的端口以进行 TCP 访问 (Windows 10)
要在 Windows 10 计算机上打开 Windows 防火墙的端口以进行 TCP 访问,请遵循以下步骤:
访问 Windows 防火墙设置:
- 选择键盘上的“Windows 键”或任务栏中的 Windows 图标,打开“开始”菜单。
键入
Windows Security
:- 在“开始”菜单搜索栏中,键入“Windows 安全中心”并选择“Enter ”。 这将打开 Windows 安全中心应用。
打开 Windows 安全中心防火墙和网络保护:
- 在左侧边栏中的Windows 安全中心应用中,选择“防火墙和网络保护”。
选择“允许应用通过防火墙”:
- 在“防火墙和网络保护”下,可以看到“允许应用通过防火墙”。
更改设置(管理员权限):
- 可能需要管理员权限才能进行更改。 如果出现提示,请选择“更改设置”按钮,并提供管理员凭据。
查找程序或端口:
- 在“允许的应用和功能”部分中,向下滚动以查找要打开的程序或端口。 如果要打开特定应用程序的端口,请在列表中的查找该应用程序。 如果要打开自定义端口,则需要创建规则,否则跳过到步骤 12。
创建新规则(适用于自定义端口):
- 如果未列出要打开的程序或端口,则必须创建新规则。 根据具体要求,选择“允许其他应用...”或“允许其他程序...”。
选择程序或端口:
- 如果要打开端口,请选择“端口”并指定端口号,无论是 TCP 还是 UDP。 如果要允许应用程序,请浏览该应用程序的可执行文件。
命名规则:
- 为规则命名,以便快速识别。
指定操作:
- 选择“允许连接”打开 TCP 访问端口。
保存规则:
- 选择“下一步”,然后选择“完成”以创建规则。
验证新规则:
- 在“允许的应用和功能”部分中,确保新创建的规则随所需的端口或程序一起列出并已启用。
关闭 Windows 安全中心:
- 关闭 Windows 安全中心应用。
测试端口访问:
- 要确保端口处于打开状态,可以使用依赖于特定端口的网络实用程序或应用程序,查看是否可以建立连接。
按照这些步骤,可以在 Windows 防火墙中打开特定端口,以便在 Windows 10 计算机上进行 TCP 访问。 请记住,修改防火墙设置时要谨慎,因为其可能会影响系统的安全性, 仅在必要时以及为受信任的应用程序或服务打开端口。
注意
有关配置防火墙,包括 Windows Vista 说明的详细信息,请参阅为数据库引擎访问配置 Windows 防火墙。 有关默认 Windows 防火墙设置的详细信息以及有关影响数据库引擎、Analysis Services、Reporting Services 和 Integration Services 的 TCP 端口的说明,请参阅配置 Windows 防火墙以允许 SQL Server 访问。
从其他计算机连接到数据库引擎
既然已配置数据库引擎侦听固定端口,并且已在防火墙中打开该端口,你就可以从其他计算机连接到 SQL Server 了。
当 SQL Server Browser 服务正在服务器计算机中运行并且防火墙已打开 UDP 端口 1434 时,可以使用计算机名称和实例名称建立连接。 为了增强安全性,我们的示例不使用 SQL Server Browser 服务。
从其他计算机连接到数据库引擎
在另一台包含 SQL Server 客户端工具的计算机中,使用授权的帐户进行登录以连接到 SQL Server,然后打开 Management Studio。
在“连接到服务器”对话框中,确认是否已在“服务器类型”框中选中“数据库引擎”。
在“服务器名称”框中,键入
tcp:
以便指定协议,后跟计算机名称、逗号以及端口号。 为了连接到默认实例,端口 1433 为隐式端口并可省略;因此,请键入tcp:<computer_name>
,其中<computer_name>
是计算机的名称。 在命名实例的示例中,请键入tcp:<computer_name>,49172
。如果在“服务器名”框中省略
tcp:
,则客户端将按照在客户端配置中指定的顺序依次尝试所有启用的协议。 有关详细信息,请参阅连接到数据库引擎。如果在连接到远程服务器时尝试与实例名称建立连接,则必须在远程服务器上运行 SQL Server Browser 服务。 如果 SQL Server Browser 服务未运行,则实例名称端口映射不起作用。
在“身份验证”框中,确认已选中“Window 身份验证”,然后选择“连接”。
使用 SQL Server Browser 服务进行连接
SQL Server Browser 服务,可侦听对 SQL Server 资源的传入请求并提供有关计算机中安装的 SQL Server 实例的信息。 当 SQL Server Browser 服务运行时,用户可以通过提供计算机名和实例名(而非计算机名和端口号)连接到命名实例。 由于 SQL Server Browser 会接收未经身份验证的 UDP 请求,因此不会在安装过程中始终处于打开状态。 有关该服务的描述及其启用时间的说明,请参阅“SQL Server Browser 服务(数据库引擎和 SSAS)”。
若要使用 SQL Server Browser,必须按照本课之前的步骤执行,并打开防火墙的 UDP 端口 1434。
此有关基本连接的简短教程将以此步骤为结束。