Letzte Woche ist etwas Seltsames in unserer Datenbank passiert. Plötzlich wurde die Anwendung für unsere Benutzer blockiert, die keine neuen Entitäten usw. speichern konnten. Nachdem ich mir den Aktivitätsmonitor des SQL Servers (2008 mit Kompatibilitätsmodus 2005) angesehen hatte, sah ich die folgenden drei Einträge:
Nach einiger Zeit erhielten die Benutzer ein Verbindungszeitlimit. Wenn ich den Prozess 64 beendet habe, konnten sie wieder normal speichern.
Das Problem ist, dass die Entitäten, die sie während des Blocks speichern wollten, mehr als einmal (bis zu dreimal) in die Datenbank eingefügt wurden, obwohl es Code gibt, der dies verhindern sollte (Zahlenspalte, die eindeutig, aber ohne Einschränkung sein muss ... die Prüfung erfolgt im Code).
Wir verwenden Entity Framework 6.0.
- Weiß jemand von euch, warum und wann diese ASYNC_NETWORK_IO-Wartetypen auftreten und wie man sie vermeidet?
- Und was genau meinen sie?