La semana pasada sucedió algo extraño en nuestra base de datos. De repente, la aplicación se bloqueó para nuestros usuarios que no pudieron guardar nuevas entidades, etc. Después de mirar el Monitor de actividad del servidor SQL (2008 con el modo de compatibilidad 2005) vi las siguientes tres entradas:
Después de un tiempo, los usuarios obtuvieron un tiempo de espera de conexión. Cuando eliminé el proceso 64, pudieron volver a guardar normalmente.
El problema es que las entidades que intentaron guardar durante el bloque se insertaron en la base de datos más de una vez (hasta 3 veces) a pesar de que hay un código que debería evitar que esto suceda (columna de números que debe ser única pero sin restricciones ... la verificación ocurre en el código).
Utilizamos Entity Framework 6.0.
- ¿Alguien de ustedes sabe por qué y cuándo ocurren estos tipos de espera ASYNC_NETWORK_IO y cómo evitarlos?
- ¿Y a qué se refieren exactamente?