SQL 在查询数据过程中随机断开连接

SQL 在查询数据过程中随机断开连接

我遇到了一个奇怪的问题 - 当我查询超过 9000 行的 SQL 表时,SQL 会随机断开连接并出现一些不相关的错误。

1.)我的意思是随机断开连接:平均而言,大约每四或五次查询就会发生一次这种情况(但不是必然的)。如果我按某个日期排序,查询失败的可能性就更大,如果不按顺序排序,查询失败的可能性就更小。在 SQL MGMT Studio 中,底部工具栏中出现断开连接图标,只返回几行(但不是全部)。如果我查询少于 9000 行的表,或者如果我限制返回的行数(例如使用 TOP),查询没有失败。

2.)我的意思是无关错误

An error occurred while executing batch. Error message is: SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.

或者

An error occurred while executing batch. Error message is: Internal connection fatal error.

数据良好(日期在允许的间隔内)。查询不仅从 SQL MGMT Studio 失败,而且从代码失败。在 SQL Profiler 中一切正常。SQL 服务器在本地网络内的不同服务器上运行,DEV 服务器(我从中执行查询)在我的 PC 上虚拟化(也在同一本地网络内)。

我的同事从他们自己的机器连接到同一个数据库,没有遇到任何问题。

我们怀疑我的机器上的某些网络相关的东西是问题所在,但却找不到它。

先感谢您!

答案1

我们的管理员发现,问题在于DNE 轻量过滤器。如果这个怪物被禁用,一切都会按预期运行(不会出现因奇怪错误而随机断开连接)。

你可以禁用它如果你去控制面板/网络和共享中心/更改适配器设置。右键单击您的网络设备并选择特性. 取消选择DNE 轻量过滤器

网络设备选项窗口的图像,您可以在其中取消选择 DNE LightWeight Filter

答案2

我无法给你一个明确的答案,但我想检查以下几点:

  1. 检查数据库服务器本身是否没有报告错误(检查事件日志)。鉴于您说它对您的同事来说运行良好,我认为这不太可能。

  2. 您是否使用与您的同事相同的驱动程序(相同或更高版本)进行连接?

  3. 您的底层网络连接有问题吗?和您一样,我倾向于认为这是最有可能的罪魁祸首。如果有,那么您可能会在主机或虚拟机的系统事件日志中看到这方面的证据。您还可以在命令提示符窗口中尝试以下命令,ping -l 65500 server其中“服务器”是数据库服务器的名称,并查看是否有任何数据包丢失。如果有,那么就是您的网络。

相关内容