sql server ,ado.net 有时候,查询会返回另外一次查询的结果.

比如 当前查询语句是 Select * from User where Id=1 返回的结果中 User.Id =2


也有可能返回的数据是其他表的.看起来应该是当时有好几个查询, 读取到了其他查询的结果


我们网站运行在IIS上面, .net core 3.1 System.Data.SqlClient 已经更新到最新版本4.8.1, 启用了连接池,但是关了连接池,也依然有这个问题.

Sql Server一开始是2017,后来升级到2019,问题依旧.

网站每天的接口请求量在200万左右, 出问题的概率,可能一天几次,也可能几天一次,没太大规律, 和并发好像没太直接关系.

搞在线抢购秒杀等活动时,没有出现. 但是会出现在任意时间点.

插个眼,这个问题我也很感兴趣:

看一下数据执行查询语句的时候会不会有这个问题


加上库名 或者 设置下事务级别

查询结果虽然混乱,但还都在一个库里面


设置事务没有试过,假设能解决的话,总不能所有查询都加上事务吧?


我同样的框架和数据库,业务代码也差不多,在另外2台服务器中,好像没有出过这个问题.


所有服务器都是阿里云的服务器,购置时间不一样,配置差不多.会有可能是服务器的问题吗?


我试过把数据库放到没出问题的服务器内,问题依旧,目前只差把网站也迁移过去了.



多加限制条件试试

ID是主键吗?是不是数据的指针出现问题了。把表的索引全删了重建试下。