sql >> Database >  >> RDS >> Sqlserver

Wat vergrendelt | communicatie buffer middelen betekenen?

Ik zou het bericht interpreteren als een impasse op een combinatie van Lock-bronnen of Communication Buffer-bronnen. "Resources vergrendelen" zijn gewone objectvergrendelingen en "Communicatiebufferbronnen" zijn exchangeEvents die worden gebruikt voor het combineren van resultaten van parallelle query's. Deze worden verder beschreven in https://blogs.msdn.microsoft.com/bartd/2008/09/24/todays-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks/ waar de relevante paragraaf is:

De deadlock-grafiek voor een van deze die ik heb gezien, omvatte een reeks processen met slechts één SPID en een grafiek van objectlocks en exchangeEvents. Ik vermoed dat het bericht "Transactie (proces-ID 55) was vastgelopen bij vergrendeling | communicatiebufferbronnen met een ander proces en is gekozen als het slachtoffer van de impasse. Voer de transactie opnieuw uit" verschijnt in plaats van "Intra-query parallellisme zorgde ervoor dat uw serveropdracht (proces-ID #51) vastliep. Voer de query opnieuw uit zonder intra-query parallellisme met behulp van de query-hintoptie (maxdop 1)" vanwege de combinatie van objectlocks en exchangeevents, of anders is het bericht in SQL Server gewijzigd sinds het artikel werd geschreven.



  1. Oracle:ORA-12154:TNS-probleem:Excel 64-bit/Windows 10 64-bit

  2. Een Excel-document maken vanuit een Java-programma met behulp van Apache POI

  3. globale sql_mode instellen in mysql

  4. SQL Server-gegevens invoegen met Oracle® SQL*Loader