在过去的几个月里,我们的网站遇到了一个奇怪的问题。偶尔使用 ADO.NET 数据集对数据库进行各种查询会引发错误...其中最常见的是“无法启用约束。一个或多个行包含违反非空、唯一或外来的值-关键约束。”
数据实际上是有效的,因为如果不更改任何内容,错误将是间歇性的。此外,它的“修复”是在两个 Web 服务器上回收应用程序池......所以问题不可能是返回的错误数据。完成此操作后,它可以一次运行数周,或一天中断 3 次。它没有一致性...
似乎更新的数据访问方式(例如Linq 2 SQL)工作得很好……虽然很难说,因为该站点目前正在使用这两种方式。(正在努力将所有内容都转移到 L2S,但遗憾的是没有太多时间重写旧组件......)
那么以前有人有过这样的事情吗?与负载平衡有关吗?可能是服务器有问题?(我已经强制所有连接到每台服务器,并在它们两个上都遇到了错误。)在 VM 中运行会不会有问题?
呃……好的,所以总体问题是:是什么原因造成的,我该如何解决?
哦,该网站使用 .NET 3.5...