Se você não conseguir um tempo de inatividade programado....
crie duas novas colunas:nvarchar(max)processedflag INT DEFAULT 0
Crie um índice não clusterizado na bandeira processada
Você tem UPDATE TOP disponível para você (você deseja atualizar o topo ordenado pela chave primária).
Basta definir o sinalizador processado para 1 durante a atualização para que a próxima atualização seja atualizada apenas onde o sinalizador processado ainda for 0
Você pode usar @@rowcount após a atualização para ver se pode sair de um loop.
Sugiro usar WAITFOR por alguns segundos após cada consulta de atualização para dar a outras consultas a chance de adquirir bloqueios na tabela e não sobrecarregar o uso do disco.