Ich untersuche einen Prozess, den ich nicht erstellt habe. Es verwendet den Service Broker, um eine Warteschlange von Kontakten zu erstellen, die dann eine Aktion gegen sie benötigen.SQL Server Service Broker Deadlock
Es gibt dann einen Handler, der 10k Datensätze empfängt und sie an eine gespeicherte Prozedur zur Verarbeitung übergibt.
Was passiert, wenn dieser letzte Prozess für einen Deadlock ohne Fehlerbehandlung fehlschlägt? Gehen diese zurück in die Warteschlange? Wenn nicht, was müsste ich tun, um sie wieder in die Warteschlange zu bekommen?
Haben Sie versucht, den Prozess zu blockieren und zu sehen, was passiert? – dfundako
Nein. Leider bin ich momentan auf einem Live-Server. Ich hatte gehofft, dass jemand wissen würde, ob es ein Standardverhalten dafür gibt. Ich hatte bei der Suche widersprüchliche Berichte gesehen und möchte vermeiden, einen neuen Prozess zum Testen des Standardverhaltens zu erstellen. Das ist, wenn ** ein Standardverhalten ist. –
Wenn alles in der Transaktion ist, wird es zurückgesetzt. Wenn nicht, dann haben Sie: 'peek' - done,' process' - fail. Als separate Transaktionen. –