GeschichteWie kann ich einen Snapshot Isolation Ausfall von 3960
Ich zwinge eine SPROC Snapshot Isolation mit mehreren Einsätzen über MERGE auszuführen. Dieser SPROC wird mit sehr hoher Last und oft parallel aufgerufen, so dass gelegentlich ein Fehler 3960 ausgelöst wird, der anzeigt, dass der Snapshot aufgrund von Änderungskonflikten zurückgesetzt wurde. Dies wird wegen der hohen Parallelität erwartet.
Problem
ich eine „Wiederholung“ Warteschlange implementiert haben später diese Arbeit wieder auszuführen, aber ich Schwierigkeiten habe den Fehler reproduzieren meine Schecks genau sind, um zu überprüfen.
Frage
Wie kann ich einen Schnappschuss Ausfall reproduzieren (3960, speziell) meine Wiederholungslogik arbeitet, um zu überprüfen?
bereits versucht
- Raiseerror nicht funktioniert, weil es nicht erlaubt, mich bestehende Fehler zu erhöhen, nur benutzerdefinierte diejenigen
- ich wieder eingesetzt denselben Datensatz versucht haben, aber dies nicht der gleiche Fehler werfen, da es nicht zwei verschiedene Transaktionen „Rennen“ ist eine andere
gehen Sie einfach mit Ihrem Code, wenn Sie die verschiedenen Teile unabhängig von der tatsächlichen Fehler Catch getestet haben. Wenn Ihr neuer Code fehlschlägt und den Fehler verfehlt, wird es nicht schlimmer, als wenn es jetzt versagt. –