与MS SqlServer服务器 建立连接后,查询数据时发生-指定的网络名不再可用错误-The specified network name is no longer available

6 篇文章 0 订阅
当从MSSQLServer进行大数据量查询时,出现'指定的网络名不再可用'错误。问题在于超过一定行数的查询会导致连接异常。调整PacketSize至512后,查询量增加到51条数据。通过网络追踪未发现异常,但服务器发送了tcp-reset报文,表明连接状态变化。启用MARS(MultipleActiveResultSets)特性后,问题得到解决,允许并发操作,从而能够成功查询大量数据。
摘要由CSDN通过智能技术生成

MS SqlServer 建立连接后,查询数据时发生Failed to retrieve data for this request ,报指定的网络名不再可用错误-The specified network name is no longer available的错误。

花了几天时间查阅网上无数资料,发现很多网友也遇到此问题,但是没有找到解决方法。

经故障排查发现,查询8行数据时正常,查询数大于8行时,报指定的网络名不再可用错误-The specified network name is no longer available的错误。

修改Packet Size大小为512后,发现可正常查询道51调数据,怀疑时网络传输报文大小限制问题。

Tracert 目标服务器IP,没有发现网路异常。

检查了网络安全设置,防火墙设置,没有发现异常。

查看了通信日志,发现异常记录

目标服务器向客户端发送了tcp-reset报文。

猜测应该是目标服务器和客户端建立的握手连接发送变化导致。

修改连接字符串,开启 MARSS

MultipleActiveResultSets = true;

再次测试,竟然成功了。

至于为什么开启 MARS,网友可以自己思考,网上了解MARS资料。

写此文以供遇到此问题网友参考。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server是一种用于管理和存储数据的关系型数据库管理系统。它支持多种身份验证方式,包括SQL身份验证和Windows身份验证。当在连接字符串或配置文件中指定的SQL Server称配置为SQL身份验证,这意味着连接到该数据库需要提供用户和密码进行身份验证。 SQL身份验证是一种基于用户和密码的身份验证方式。在连接到SQL Server,用户需要提供有效的用户和密码才能访问数据库。这种身份验证方式适用于各种情况,如在本地开发环境中进行测试和开发,或者在部署到生产环境需要使用具有特定权限的用户进行连接。 要在配置SQL Server启用SQL身份验证,需要进行以下步骤: 1. 打开SQL Server Management Studio,使用Windows身份验证登录。 2. 在对象资源管理器中,右键单击服务器,选择“属性”。 3. 在左侧菜单中选择“安全性”,然后在右侧窗口中选择“SQL Server和Windows身份验证模式”。 4. 单击“确定”按钮保存更改。 配置完成后,使用SQL身份验证进行连接,需要在连接字符串或配置文件中提供用户和密码信息。这样,SQL Server将使用提供的凭据进行身份验证并授予相应的权限。 总之,“the SQL Server指定的配置为SQL身份验证安全性”意味着连接到该服务器需要使用SQL身份验证方式进行身份验证,并且在连接需要提供有效的用户和密码。这种身份验证方式可以提供更高的安全性,同也需要更多的身份验证信息来连接到SQL Server数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值