Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Co blokuje | zasoby bufora komunikacyjnego oznaczają?

Komunikat zinterpretowałbym jako zakleszczenie w niektórych kombinacjach zasobów Lock lub Communication Buffer. „Zasoby blokujące” to zwykłe blokady obiektów, a „Zasoby bufora komunikacyjnego” to zdarzenia wymiany używane do łączenia wyników zapytań równoległych. Zostały one opisane dalej w https://blogs.msdn.microsoft.com/bartd/2008/09/24/todays-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks/ gdzie odpowiedni akapit to:

Wykres zakleszczeń dla jednego z tych, które widziałem, zawierał zestaw procesów z tylko jednym identyfikatorem SPID i wykresem blokad obiektów i zdarzeń wymiany. Przypuszczam, że komunikat „Transakcja (identyfikator procesu 55) została zablokowana przy blokadzie | zasoby bufora komunikacji z innym procesem i została wybrana jako ofiara zakleszczenia. Uruchom ponownie transakcję” pojawia się zamiast „Równoległość wewnątrz zapytań spowodowała zakleszczenie polecenia serwera (identyfikator procesu nr 51). Uruchom ponownie zapytanie bez równoległości wewnątrz zapytań, używając opcji wskazówki dotyczącej zapytania (maxdop 1)” z powodu kombinacji blokad obiektowych i zdarzeń wymiany, lub wiadomość została zmieniona w SQL Server od czasu napisania artykułu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dołączyć dane OPENXML do mojego wewnętrznego zapytania sprzężenia?

  2. Przesyłanie dokumentów do serwera sql 2008 przy użyciu asp.net C#

  3. jak mieć podwójną pętlę while w serwerze sql 2008

  4. Jak włączyć przechwytywanie zmian danych (CDC) w całej tabeli LUB włączyć funkcję CDC w tabeli z listą kolumn w programie SQL Server

  5. Jak zainstalować SQL Server Manager Studio (SSMS) — samouczek SQL Server / TSQL, część 1