Ich würde prüfen, ob Ihre Updates innerhalb einer Transaktion sind. Wenn dies der Fall ist, könnte dies erklären, warum es nach einer bestimmten Menge "modifizierter" Daten stirbt. Sie können als Indikator prüfen, wie groß Ihre "tempdb" wird.
Ich habe auch Fälle gesehen, in denen während lang andauernder Transaktionen die Datenbank abstürzte, wenn gleichzeitig andere "Verwendungen" vorhanden waren, wiederum aufgrund von Transaktionalität und unangemessenen Isolationsstufen.
Wenn Sie Ihren Job in unabhängige, nicht überlappende Stücke aufteilen können, möchten Sie es vielleicht tun:wie die Arbeit in Stücken nach Datum, ID-Bereichen von "Root"-Objekten usw. zu erledigen.