> >-- Connection 1 -- Connection 2 >BEGIN TRANSACTION BEGIN TRANSACTION >INSERT INTO MyTable VALUES (111) INSERT INTO MyTable VALUES (222) > >-- The row below WAIT FOREVER on server 1 >-- on other server no problems. >DELETE FROM MyTable WHER Fld1 = 111 ><pre> > >When I run SQL Profiler to check dead locks it doesn't shows any, it just show: ><pre> >Lock:Acquired >Lock:Released > >Lock:Acquired >Lock:Released > >Lock:Acquired >Lock:Released >.... >>
conn1: INSERT INTO MyTable VALUES (111) conn2: INSERT INTO MyTable VALUES (222) conn1: DELETE FROM MyTable WHER Fld1 = 111 -- conn2 lock this on the pk indexSolution 1:
conn1: INSERT INTO MyTable VALUES (111) conn2: INSERT INTO MyTable VALUES (222) conn1: DELETE T FROM MyTable T (READPAST) WHERE Fld1 = 111Solution 2: