连接解决mssql跨网段连接的方法

1. 概述

MS SQL Server是一种关系型数据库管理系统,常用于企业级应用程序。在开发过程中,可能会涉及到跨网段连接数据库的需求,本文将介绍如何进行跨网段连接以及常见出错情况及解决方法。

2. 连接方法

2.1 配置端口号

首先,需要确保已经打开了数据库端口,端口默认为1433,如果端口被占用或者修改了端口需要相应地进行更改。

修改方法:进入SQL Server Configuration Manager,选择SQL Server Network Configuration,找到TCP/IP协议,右键属性,进入IP地址选项卡,在TCP Pprt处修改端口号(如下图所示)

打开SQL Server Configuration Manager

修改TCP/IP协议的IP地址选项卡里的TCP Port

2.2 配置SQL Server的网络

连接不同网段的SQL服务器需要配置SQL Server的网络以及服务,使SQL Server能够监听远程连接的请求。

1. 打开SQL Server Configuration Manager,找到SQL Server服务,启动服务。

2. 在配置管理器中找到SQL SERVER NETWORK CONFIGURATION选项,在这个选项中激活SQL SERVER的TCP/IP协议。

3. 配置防火墙允许端口,可以直接关闭防火墙,也可以设置防火墙允许特定的端口(如1433)。

注意:为了保障数据安全,建议设置端口复杂密码。

3. 常见出错情况及解决方法

3.1 出错:无法连接到SQL SERVER

当尝试连接SQL服务器时会出现以下错误

无法连接到SQL SERVER 'server_name'

错误自述:由于无法加载某个系统库,系统错误号 126。

-由于无法加载某个系统库,细节信息(syswow64\sqlsrv32.dll)

此错误是由于错误的odbc驱动器。可能有的odbc驱动器无法正确连接SQL服务器,因此需要下载正确的驱动器。

3.2 出错:引发ODBC调用错误的异常

当尝试在Sql Server Management Studio中连接到远程服务器时,会出现以下错误:

引发ODBC调用错误的异常。

[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server不会对接收到的远程连接请求响应。这可能是由于服务器的所有网络接口都已禁用,或因为没有配置具有给定名称的服务器的任何IP地址的网络端点。更多信息请参阅SQL Server书库。

[Microsoft][ODBC SQL Server Driver][DBNETLIB]连接打开(Servername:端口是1433)。

此错误的主要问题在于未正确配置远程连接选项。

解决方法:在SQL Server Configuration Manager中选择SQL Server Network Configuration,找到TCP/IP协议选项卡,右键属性,将启用入站连接选项设置为true。

3.3 出错:目标计算机拒绝了连接

错误描述:在SSMS中连接到目标服务器时搜索客户端上的所有可用SQL服务器时,会收到错误消息,如下所示:

测试连接失败因为“无法连接到目标计算机。目标计算机明确地拒绝。”(Microsoft SQL Server,错误:14)

原因:

防火墙禁用

未启用“TCP / IP”协议

未启用远程连接访问

解决方法:

启用防火墙

在SQL Server Configuration Manager中启用“TCP / IP”协议

在SQL Server Management Studio中启用远程连接访问

在SQL Server Management Studio中启用远程连接访问:

打开SSMS,在添加服务器对话框中输入服务器名称,之后点击连接按钮,连接到服务器,会出现以下页面:

从上述页面中选择“SQL Server身份验证”,输入用户名和密码,之后选择“选项”选项卡,启用“远程服务器连接”。 最后,单击“连接”按钮并完成连接。

4. 总结

在跨网段连接SQL Server时,我们应该小心谨慎地配置SQL Server和操作系统的网络。同时,我们需要修改防火墙设置以允许相应端口的连接。出现连接错误时应当检查连接配置、网络以及防火墙设置。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签