sql >> Databasteknik >  >> RDS >> Sqlserver

Varför skulle SQL Servers SET DEADLOCK_PRIORITY HIGH inte uppfyllas?

Det ser ut som att kommandot som dödas är en ALTER PARTITIONSFUNKTION, det är intressant att notera att detta kräver ett SCH-M-lås som är inkompatibelt med SCH-S-lås som används för allt. Jag antar att detta kan vara en orsak.

Se michaeljswart.com/2013/04/the-sch -m-lock-is-evil .

Se även den här beskrivningen av ett SCH-M dödläge från en ALTER PARTITION-funktion och en fråga som orsakar en statistikuppdatering i SQL 2014 och 2016, men kanske sant även 2012:Deadlock uppstår när du förvärvar ett SCH-M-lås

När du tittar på din graf har en process ett delat (uppdaterings)lås på sysschobjs och väntar på ett SCH-S-lås på ditt bord. Din process har ett SCH-M-lås på ditt bord och väntar på ett X-lås på sysschobjs. sysschobjs är en systembastabell som sitter bakom sysobjects. Se diskussionen här Technet:SQL-fråga som ofta orsakar dödläge

Hoppas detta hjälper




  1. Play Framework Anorm &DB inte löst

  2. MySQL-injektion av LIKE-operatör

  3. Aktiverar tvåfaktorsautentisering för ScaleGrid DBaaS

  4. Ta bort dubbletter av poster