Минулого тижня у нашій базі даних трапилось щось дивне. Раптом додаток було заблоковано для наших користувачів, які не змогли зберегти нові об’єкти тощо. Після перегляду «Монітора активності» SQL Server (2008 з режимом сумісності 2005) я побачив наступні три записи:
Через деякий час користувачі отримали тайм-аут з'єднання. Коли я вбив процес 64, вони знову могли нормально врятувати.
Проблема полягає в тому, що об'єкти, які вони намагалися зберегти під час блоку, вставлялися в БД не раз (до 3 разів), хоча є код, який повинен запобігти цьому (колонка з цифрами, яка повинна бути унікальною, але без обмежень ... перевірка відбувається в коді).
Ми використовуємо Entity Framework 6.0.
- Хтось із вас знає, чому і коли виникають ці типи очікування ASYNC_NETWORK_IO і як їх уникнути?
- А що саме вони означають?