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和操作系统的网络。同时,我们需要修改防火墙设置以允许相应端口的连接。出现连接错误时应当检查连接配置、网络以及防火墙设置。