あなたの更新がトランザクション内にあるかどうかを確認します。もしそうなら、一定量の「変更された」データの後に死ぬ理由を説明できます。 「tempdb」がどのくらい大きくなるかを指標として確認できます。
また、トランザクション性と不適切な分離レベルが使用されているために、長時間実行されているトランザクション中に、同時に他の「使用」がある場合にデータベースが停止するケースも見てきました。
ジョブを独立した重複しないチャンクに分割できる場合は、それを実行したいと思うかもしれません:日付、「ルート」オブジェクトの ID 範囲などによってチャンクでジョブを実行するなど.