Si no puede programar el tiempo de inactividad...
cree dos nuevas columnas:nvarchar (max)processedflag INT DEFAULT 0
Cree un índice no agrupado en la bandera procesada
Tiene UPDATE TOP disponible para usted (quiere actualizar top ordenado por la clave principal).
Simplemente configure el indicador procesado en 1 durante la actualización para que la próxima actualización solo se actualice donde el indicador procesado sigue siendo 0
Puede usar @@rowcount después de la actualización para ver si puede salir de un ciclo.
Sugiero usar WAITFOR durante unos segundos después de cada consulta de actualización para dar a otras consultas la oportunidad de adquirir bloqueos en la tabla y no sobrecargar el uso del disco.