SOS Scheduler Yield
No post anterior, comentamos sobre o funcionamento do Scheduler, que funciona como um multitasking em modo cooperativo. Para que isso funcione adequadamente, todo o código SQL Server (escrito em C++) é cuidadosamente escrito para realizar periodicamente uma operação denominada “YIELD”.
A tradução de Yield é “dar passagem”, assim como aquela placa de trânsito:
Como que isso afeta a vida dos DBA?
Se você encontrou os erros 17883, 17884, 17887 ou 17888, então você encontrou um problema no processo de “Scheduler Yield”. Provavelmente você se deparou com um BUG. Esses erros são considerados extremamente críticos pelo nosso suporte, pois afetam a performance e estabilidade do banco de dados.
No próximo post, vamos desvendar um pouco mais esse mistério e darei os primeiros passos sobre a importância de um Memory Dump.
Referências
How To Diagnose and Correct Errors 17883, 17884, 17887, and 17888
https://technet.microsoft.com/en-us/library/cc917684.aspx
Comments
Anonymous
March 28, 2011
Olá Catae, Já passei por este problema em um cliente e não foi nada agradável :D. Após o fix o problema foi corrigido. Obrigado por postar estas entradas sobre Dump que eu tinha lhe pedido. Assim que me organizar aqui nas minhas tarefas eu lhe envio o dump que tinha prometido. Abraço, Demétrio SilvaAnonymous
March 31, 2011
O agradável é sempre depois que se aplica o hotfix, quando a solução se normaliza. :) No próximo post, vou tentar colocar o cenário do Scheduler Hang - um dos grandes motivadores do uso de dump. Abraços e obrigado pela sugestão do assunto.