why not lock the table? when you do that no one can insert/update data.

when you use cursor the system takes all your 1500000 row and starts useing them. if during the time someone updates r deletes lines, you arein the too old ... area.