Jika Anda tidak bisa mendapatkan waktu henti yang dijadwalkan....
buat dua kolom baru:nvarchar(max)processedflag INT DEFAULT 0
Buat indeks nonclustered pada flag yang diproses
Anda memiliki UPDATE TOP yang tersedia untuk Anda (Anda ingin memperbarui urutan teratas dengan kunci utama).
Cukup setel flag yang diproses ke 1 selama pembaruan sehingga pembaruan berikutnya hanya akan memperbarui di mana flag yang diproses masih 0
Anda dapat menggunakan @@rowcount setelah pembaruan untuk melihat apakah Anda dapat keluar dari loop.
Saya menyarankan untuk menggunakan WAITFOR selama beberapa detik setelah setiap kueri pembaruan untuk memberi peluang pada kueri lain untuk mendapatkan kunci pada tabel dan tidak membebani penggunaan disk.