Update -在创建死锁的同一表上选择



我发现很难找到这个僵局的解决方案。select查询对索引I_SEM_AGENT_COMPUTER_ID_PLUS采取共享锁,同时update查询更新表中的记录(例如r1),然后尝试更新索引I_SEM_AGENT_COMPUTER_ID_PLUS(该索引在include子句中有列,由update查询更新),然而select以共享模式请求记录r1。有什么可能的解决方案呢?除了为select创建一个新的非聚集索引之外。注意:不允许脏读,不能使用READPAST,因为这会返回没有记录的错误

最终解决了这个问题,重新安排了两个查询以相同的顺序访问资源。这就解决了问题。

最新更新