Lejlighedsvis deadlocks på et RDBMS, der låser som SQL Server/Sybase, forventes.
Du kan kode på klienten for at prøve igen som anbefalet min MSDN "Handling Deadlocks" . Grundlæggende skal du undersøge SQLException og måske et halvt sekund senere, prøv igen.
Ellers bør du gennemgå din kode, så al adgang til tabeller er i samme rækkefølge. Eller du kan bruge SET DEADLOCK_PRIORITY til at kontrollere, hvem der bliver et offer.
På MSDN til SQL Server er der "Minimering af deadlocks" som starter
Dette nævner også "Use a Lower Isolation Level", som jeg ikke bryder mig om (samme som mange SQL-typer her på SO) og er dit spørgsmål. Gør det ikke er svaret... :-)
- Hvad kan der ske som et resultat af at bruge (nolock) på hver SELECT i SQL Server?
- https://dba.stackexchange.com/q/2684/630
Bemærk:MVCC type RDBMS (Oracle, Postgres) har ikke dette problem. Se http://en.wikipedia.org/wiki/ACID#Locking_vs_multiversioning men MVCC har andre problemer.