sql >> Databáze >  >> RDS >> Sqlserver

Co zamyká | prostředky komunikační vyrovnávací paměti znamenají?

Zprávu bych interpretoval jako uváznutí na nějaké kombinaci prostředků Lock nebo Communication Buffer. "Zamknout prostředky" jsou běžné zámky objektů a "zdroje komunikační vyrovnávací paměti" jsou exchangeEvents používané pro kombinování výsledků paralelních dotazů. Ty jsou dále popsány v https://blogs.msdn.microsoft.com/bartd/2008/09/24/todays-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks/ kde je příslušný odstavec:

Graf uváznutí pro jeden z nich, který jsem viděl, zahrnoval sadu procesů pouze s jedním SPID a graf objektových zámků a exchangeEvents. Předpokládám, že zpráva "Transakce (proces ID 55) byla zablokována na zámku | prostředky vyrovnávací paměti komunikace s jiným procesem a byla vybrána jako oběť zablokování. Spusťte transakci znovu" místo "Paralelismus uvnitř dotazu způsobil uváznutí příkazu serveru (ID procesu #51). Spusťte dotaz znovu bez paralelismu uvnitř dotazu pomocí možnosti nápovědy pro dotaz (maxdop 1)" kvůli kombinaci objectlocks a exchangeevents, jinak byla zpráva v SQL Serveru od napsání článku změněna.



  1. Tabulka Mysql se složeným indexem, ale ne primárním klíčem

  2. Posun (aktualizace) jedinečných hodnot sloupců v PostgreSQL

  3. Nastavení webu Django/MySQL na používání UTF-8

  4. Jak aktualizuji tabulku (MYSQL)