A consulta parece desligar

1

Temos um trabalho de ETL que, de tempos em tempos, fica suspenso.

neste caso, eu olhei em sp_who2 e não havia bloqueio, e era a única consulta ativa no sistema.

Aqui está um despejo de sysprocesses:

spid    kpid    blocked waittype    waittime    lastwaittype    waitresource    dbid    uid cpu physical_io memusage    login_time  last_batch  ecid    open_tran   status  cmd
61  6276    0   0x00BB  3659611 CXPACKET                                                                                                                                                                                                                                                                                                5   9   184826204   114737  2   35:53.8 35:53.8 0   2   suspended                       INSERT          
61  6540    0   0x0000  0   SOS_SCHEDULER_YIELD                                                                                                                                                                                                                                                                                     5   9   3503094 513 0   35:53.8 35:53.8 2   0   runnable                        INSERT          
61  360 0   0x0000  0   SOS_SCHEDULER_YIELD                                                                                                                                                                                                                                                                                     5   9   3377297 420 0   35:53.8 35:53.8 4   0   runnable                        INSERT          
61  4348    0   0x0000  0   SOS_SCHEDULER_YIELD                                                                                                                                                                                                                                                                                     5   9   3446657 515 0   35:53.8 35:53.8 3   0   runnable                        INSERT          
61  5532    0   0x0000  0   SOS_SCHEDULER_YIELD                                                                                                                                                                                                                                                                                     5   9   3094360 443 0   35:53.8 35:53.8 5   0   runnable                        INSERT          

Eu suspeito que a consulta está indo paralelamente e bloqueando a si mesma, já que toda a atividade está ocorrendo no mesmo spid. mas não sei como solucionar mais.

algum pensamento sobre o que está acontecendo aqui? ou que outros passos eu poderia dar para solucionar isso se ocorrer novamente?

    
por Jason Horner 23.07.2010 / 16:35

1 resposta

1

O tipo de bloco 00BB é CXPACKET, o que significa que o banco de dados está aguardando a conclusão de outro thread. Os outros 4 threads estão sendo executados, pois não possuem nenhum tipo de waittype mostrado. O SOS_SCHEDULER_YIELD que é mostrado para o último waittype significa que o SQL Server está desescalando o encadeamento porque ele tem outras coisas a fazer, que são mais fáceis de serem completadas, portanto ele está trabalhando nelas primeiro.

Você precisa ajustar a consulta, pois provavelmente tem algum tipo de problema de índice que precisa ser resolvido.

    
por 25.07.2010 / 01:43

Tags