Select 查询在有效日期产生 SqlDateTime 溢出

Select query produces SqlDateTime overflow on valid dates

我有一个问题:在像 SELECT * FROM table 这样的简单 select 上随机返回 SqlDateTime 溢出错误(返回该错误后几次正常;之后它再次工作几次并且再次返回该错误后) - 错误发生在同一行(使用相同的连接时) - 如果我打开和关闭 MGMT Studio,错误发生在不同的行。

确切的错误消息是:

An error occured 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.

Table 有 3 个日期时间列:

所有 3 个 DateTime 列中的值看起来都很好(为空或在允许的间隔内)。

Table还有一些varchar等其他类型的列。如果我按这 3 个 DateTime 列之一添加顺序(经过经验测试),select 查询更有可能更频繁地失败。

数据库的排序规则是 Slovenian_CI_AI

导致此错误的原因是什么(如我所说 - DateTime 值似乎没问题)?

提前致谢!

编辑 1 (2016-05-09):我之前忘了提:错误发生在 SQL MGMT Studio 和代码中(使用 LINQ to SQL).

编辑 2 (2016-05-10):似乎存在不同的问题 - 在每个 table 上,如果超过 10000 条记录,它就会抛出一些愚蠢的问题错误。在其他 table 上它抛出:

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

它还会断开我与数据库的连接(在底部状态行中显示 已断开连接)。 SQL 服务器安装在本地网络内部的远程服务器上。

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

如果您转到控制面板/网络和共享中心/更改适配器设置,您可以禁用它。右键单击您的网络设备和 select 属性 。 Deselect DNE 轻量级过滤器.

Link to Server Fault, where I posted the question when we started to believe that this is network related problem.