SLEEP_TASK Typ oczekiwania w SQL Server - co to oznacza?

34

Nie widziałem SLEEP_TASKwcześniej typu oczekiwania i dzisiaj wydaje mi się, że mam ich mnóstwo.

Nie jestem oficjalnym DBA, tylko programistą SQL Server, który zna pewne rzeczy DBA. W ostatni weekend zaktualizowaliśmy nasze serwery do 10.52.2500.0- R2SP1.

Wszystkie informacje, które mogłem znaleźć w Internecie, wskazują, że SLEEP_TASKoznacza to, że serwer czeka na pewien proces wewnętrzny, aby zakończyć. Nie mam żadnych blokujących ani żadnych działających w tle procesów, takich jak punkty kontrolne lub czyszczenie duchów, więc jestem trochę zakłopotany.

Czy ktoś widział ten typ oczekiwania wcześniej, a jeśli tak, czy możesz mi powiedzieć, co go powoduje?

JNK
źródło

Odpowiedzi:

37

SLEEP_TASK jest ogólnym oczekiwaniem, używanym do wszelkiego rodzaju rzeczy, w których nie istnieje bardziej szczegółowy typ oczekiwania, ale pojawia się przy operacjach haszujących (łączenie / agregowanie), które przelewają się do tempdb, a czasami przy wymianie (operator równoległości) gdzie konsument czeka na coś, co nie jest normalnym oczekiwaniem na CXPACKET lub EXECSYNC. Najpierw sprawdzę, czy nie ma wycieków Hash.

Paul White mówi GoFundMonica
źródło