У меня есть таблица с индексом кластерного первичного ключа в столбце uniqueidentifier. У меня есть процедура, которая выполняет следующие функции: псевдопользователейSQLlock 2005 deadlock on key
begin transaction
read from table 1
insert into table 2
update table 1 with pointer to table 2 record
commit transaction
Это все работает отлично, пока та же процедура выполняется одновременно из других источников. Как только это произойдет, одно из исполнений затормозится и завершается каждый раз на первичный ключ.
Любая идея, что я могу сделать, чтобы предотвратить это, если не сказать просто «не запускать его одновременно»? В настоящий момент транзакции выполняются на уровне изоляции READ COMMITTED.