SQL SERVER 2008R2(provider: SQL 网络接口, error: 25 - 连接字符串无效) (.Net SqlClient Data Provider) 错误处理

最近遇到个奇怪的问题,一般同样的版本,我们以SQL Server 身份验证登录时,服务器名称的写法是: Server Name\Instance Name,登录名:sa,密码:******, 服务器类型:数据库引擎。--这样绝大多时候是按这样格式登录的。

但是这次有台服务器却登录报错:

然而但出现这个问题时,只用计算机名登录即可解决,必须保证相关服务有启动。
注:此方法在是在SQL Server 2008R2 上验证可行,其他发行版本同样值得一试。

 --上图中,明显服务器名称就是实际的操作系统显示的"计算机名",后面并没有跟“\实例名”。只有这样才可以登录成功。比较奇怪,不知道是什么原因导致的?

--扩展:还有可能遇到下面的错误:

 

问题详细:连接测试失败!:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)。
本机配置:Win7系统,SQL Server 2008 R2 数据库,在360浏览器测试使用G2服务测试数据库连接。
首先查看了数据库已经允许远程连接,数据库连接字符串也填写正确。PS:连接朋友数据库正常。
在网络上搜索了一些答案。
其中,第一种方法:
运行中输入services.msc,查看SQL有关服务是否全部开启。

 

启动所有可以启动的SQL相关服务完毕,仍未解决问题。

 

第二种方法:
设置配置管理器中TCP/IP,端口设置为默认的1433。

 

结果SQLEXPRESS的协议设置为1433后,重启SQL Server (SQLEXPRESS)出现错误。

然后就不能再启动了。

 

最后找了相关资料,所做的设置有:
更改SQL Server (SQLEXPRESS)TCP/IP

 

其中8099是任意设置的端口(后面还要在防火墙设置)也可以是默认的1433端口。
这时可以启动SQL Server (SQLEXPRESS)

在控制面板打开防火墙,点击高级设置。
点击入站规则,新建规则

选择端口,下一步

输入之前的端口8099,下一步

默认允许连接,下一步

 

默认,下一步

输入名称8099(可任意命名),完成。

 

回到高级设置界面

 

数据库测试成功

 

参考:https://blog.csdn.net/crazygolf/article/details/30248535

https://docs.microsoft.com/zh-cn/troubleshoot/sql/connect/resolving-connectivity-errors#configuring-firewalls
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值