sql >> Database teknologi >  >> RDS >> Sqlserver

Hvorfor ville SQL Servers SET DEADLOCK_PRIORITY HIGH ikke blive respekteret?

Det ser ud til at kommandoen som bliver dræbt er en ALTER PARTITION FUNCTION, det er interessant at bemærke, at dette kræver en SCH-M lås, som er inkompatibel med SCH-S låse, som bruges til alt. Jeg gætter på, at dette kan være en årsag.

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

Se også denne beskrivelse af en SCH-M-deadlock fra en ALTER PARTITION-funktion og en forespørgsel, der forårsager en statistikopdatering i SQL 2014 &2016, men måske også sandt i 2012:Deadlock Opstår, når du erhverver en SCH-M lås

Når du ser på din graf, har en proces en delt (opdaterings)lås på sysschobjs og venter på en SCH-S-lås på dit bord. Din proces har en SCH-M-lås på dit bord og venter på en X-lås på sysschobjs. sysschobjs er en systembasistabel, som sidder bag sysobjects. Se diskussionen her Technet:SQL-forespørgsel, der ofte forårsager dødvande

Håber dette hjælper




  1. Advarsel:mysql_error():det leverede argument er ikke en gyldig MySQL-Link-ressource

  2. Heroku Postgres:psql:FATAL:ingen pg_hba.conf-indgang for vært

  3. MySQLdump tom fil ved hjælp af PHP, men ikke kommandolinje?

  4. Hvordan bruger man en række værdier fra PHP i 'IN'-klausulen i mysql-forespørgslen?