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

Hvad låser | kommunikation buffer ressourcer betyder?

Jeg vil fortolke meddelelsen som en dødvande på en kombination af låse-ressourcer eller kommunikationsbuffer-ressourcer. "Lås ressourcer" er almindelige objektlåse, og "Kommunikationsbufferressourcer" er exchangeEvents, der bruges til at kombinere resultater af parallelle forespørgsler. Disse er beskrevet yderligere i https://blogs.msdn.microsoft.com/bartd/2008/09/24/todays-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks/ hvor det relevante afsnit er:

Deadlock-grafen for en af ​​disse, jeg har set, inkluderede et sæt processer med kun én SPID og en graf over objektlåse og exchangeEvents. Jeg gætter på, at meddelelsen "Transaktion (Proces ID 55) var deadlocked on lock | kommunikationsbufferressourcer med en anden proces og er blevet valgt som dødlåsofferet. Kør transaktionen igen" vises i stedet for "Intra-forespørgsels-parallelisme fik din serverkommando (proces-id #51) til at låse fast. Kør forespørgslen igen uden intra-forespørgsel-parallelisme ved at bruge forespørgselstip-indstillingen (maxdop 1)" på grund af kombinationen af ​​objektlåse og exchange-events, eller også er meddelelsen blevet ændret i SQL Server, siden artiklen blev skrevet.



  1. Sammenligning af midlertidige tabeller til PostgreSQL og Oracle GTT

  2. Hvordan tilføjes slettekaskadebegrænsninger?

  3. Python Pandas - Brug af to_sql til at skrive store datarammer i bidder

  4. Laravel slutter sig til og vælg mellem flere borde