Test dog paa exception type - ikke alle exceptions er vaerd at genproeve paa.
Transaction isolation level er per connection/transaction level. Men det skal nok laves paa flere, medmindre det er den her SQL som blokerer for sig selv.
Rowlock giver mindre låsning - default er at låse alle rækker, der ligger på samme "page", her nøjes du med rækken. Det giver mere administration for sql-serveren, men derudover er den i sig selv ufarlig.
Men det hjælper ikke kun at lave det i den UPDATE du viser, hvis rækkens "page" er låst andetsteds.
Og det hjælper heller ikke en dyt, hvis du faktisk har en deadlock på række-niveau.
Man kan sikkert regne på, om det i en given applikation kan betale sig med page-låse med enkelte deadlocks, i forhold til række-låse med ingen/færre deadlocks.
Tak for hjælpen, erik og arne, jeg blev meget klogere på hvordan det hele hænger sammen. Jeg vil først prøve at fange deadlocks i koden og kalde igen - da det er det eneste sted der sker deadlock, burde det løse problemet. Men jeg er helt klart mere opmærksom på låsning af sider og rækker næste gang systemet skal opdateres.
Vil en være sød at lægge et svar så vi kan lukke?
janus, jeg skrev sådan, netop fordi jeg godt ved mange problemer stammer fra dårligt design, så det har jeg ikke brug for at få at vide. Jeg har alligevel ikke mulighed for at omdesigne.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.