At skrive dødlåssikker kode er virkelig svært. Selv når du får adgang til bordene i samme rækkefølge, kan du stadig få deadlocks [1]. Jeg skrev et indlæg på min blog, der uddyber nogle tilgange, der vil hjælpe dig med at undgå og løse dødvande situationer.
Hvis du vil sikre, at to udsagn/transaktioner aldrig vil låse fast, kan du muligvis opnå det ved at observere, hvilke låse hvert udsagn bruger ved at bruge sp_lock systemlagret procedure. For at gøre dette skal du enten være meget hurtig eller bruge en åben transaktion med et holdlås-tip.
Bemærkninger:
- Enhver SELECT-sætning, der har brug for mere end én lås på én gang, kan deadlock mod en intelligent designet transaktion, som griber låsene i omvendt rækkefølge.