更新 - 在同一个表上选择创建死锁

时间:2013-06-11 10:57:27

标签: sql-server-2008 sql-server-2005 insert-update database-deadlocks rowlocking

我发现很难找到这种僵局的解决方案。 select查询正在对索引I_SEM_AGENT_COMPUTER_ID_PLUS进行共享锁定,同时更新查询更新表中的记录(比如r1),然后尝试更新索引I_SEM_AGENT_COMPUTER_ID_PLUS(此索引在include子句中有更新查询更新的列)但是select在共享模式下请求记录r1。什么可以解决这个问题?除了为select创建一个新的非聚集索引。 注意:不允许使用脏读,不能使用READPAST,因为这可以返回没有记录失败的目的选择此处

1 个答案:

答案 0 :(得分:0)

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