sql server 老是 有 缓存 数据 不更新 急!!
有一个字段 IsRead 读了后设为 1
程序里面分两步:获取 IsRead=0 的数据,然后读了后,更新为1
但是不知道为什么,我明明有IsRead=1,打开数据库看也已经是1了,但是下次读的时候还能获取到IsRead=0的数据,就算我关闭连接重新打开也没用,只有重新启动应用程序才能获取到更新后的数据?
DBCC 都试过了,没用。头疼了。急。
C#开发
------解决方案--------------------你检查应用程序的缓存没
应该不是sql server缓存的问题
------解决方案--------------------你这个如果是SQLServer问题的话,应该出自事务控制不够严谨的情况比较多,最好把一个逻辑操作放到一个显式事务中去,并显式提交或回滚,如果不是SQLServer的问题,那你就要检查一下C#或者其他问题了,这方面我就没啥建议
------解决方案--------------------绝对不是缓存的问题?数据库在你提交更新后会写进日志替换内存中的数据,然后在由日志写入磁盘,而你读取数据的时候,是从内存中读取的。
2楼说的没有错,是不是事务没有控制好?
------解决方案--------------------肯定不是数据库方面的问题。