Om du inte kan få schemalagd driftstopp...
skapa två nya kolumner:nvarchar(max)processedflag INT DEFAULT 0
Skapa ett icke-klustrat index på den processade flaggan
Du har UPDATE TOP tillgänglig för dig (du vill uppdatera toppen sorterad efter primärnyckeln).
Sätt helt enkelt processedflaggan till 1 under uppdateringen så att nästa uppdatering bara uppdateras där den behandlade flaggan fortfarande är 0
Du kan använda @@rowcount efter uppdateringen för att se om du kan lämna en loop.
Jag föreslår att du använder WAITFOR i några sekunder efter varje uppdateringsfråga för att ge andra frågor en chans att få lås på bordet och för att inte överbelasta diskanvändningen.