Na semana passada, algo estranho aconteceu em nosso banco de dados. De repente, o aplicativo foi bloqueado para nossos usuários que não puderam salvar novas entidades etc. Depois de examinar o Monitor de Atividade do SQL Server (2008 com modo de compatibilidade 2005), vi as três entradas a seguir:
Após algum tempo, os usuários tiveram um tempo limite de conexão. Quando eu matei o processo 64, eles poderiam salvar normalmente novamente.
O problema é que as entidades que eles tentaram salvar durante o bloco foram inseridas no banco de dados mais de uma vez (até 3 vezes), embora exista um código que impeça que isso aconteça (coluna numérica que deve ser única, mas sem restrições) ... a verificação acontece no código).
Usamos o Entity Framework 6.0.
- Alguém sabe por que e quando esses tipos de espera ASYNC_NETWORK_IO ocorrem e como evitá-los?
- E o que exatamente eles significam?