14 Stimmen

Muster für die Behandlung eines SQL-Stopps in C#?

Ich schreibe eine Anwendung in C#, die auf eine SQL Server 2005-Datenbank zugreift. Die Anwendung ist ziemlich datenbankintensiv, und selbst wenn ich versuche, alle Zugriffe zu optimieren, richtige Indizes einzurichten und so weiter, erwarte ich, dass ich früher oder später Deadlocks bekommen werde. Ich weiß, warum Datenbank-Sperren auftreten, aber ich bezweifle, dass ich in der Lage sein werde, die Software zu veröffentlichen, ohne dass es irgendwann zu Deadlocks kommt. Die Anwendung verwendet Entity Framework für den Datenbankzugriff.

Gibt es gute Muster für die Behandlung von SQLExceptions (deadlocked) in der C#-Client-Code - zum Beispiel die Anweisung Batch nach x Millisekunden erneut ausführen?

Um das klarzustellen: Ich suche nicht nach einer Methode, wie man Deadlocks von vornherein vermeiden kann (Isolationsebenen, Indizes, Reihenfolge der Anweisungen usw.), sondern wie man sie behandelt, wenn sie tatsächlich auftreten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X