Je vérifierais si vos mises à jour sont dans une transaction. Si c'est le cas, cela pourrait expliquer pourquoi il meurt après un certain nombre de données "modifiées". Vous pouvez vérifier la taille de votre "tempdb" comme indicateur.
J'ai également vu des cas où, lors de transactions de longue durée, la base de données mourrait lorsqu'il y avait d'autres "utilisations" en même temps, encore une fois à cause de la transactionnalité et des niveaux d'isolation inappropriés utilisés.
Si vous pouvez diviser votre travail en morceaux indépendants qui ne se chevauchent pas, vous voudrez peut-être le faire :par exemple, faire le travail en morceaux par dates, plages d'ID d'objets "racines", etc.