This Article explains the reason why APPLY process starts from 0% when its re-started.
The APPLY process starts from 0% again because nothing was committed yet on the target side. Because the APPLY process stopped before completing the large transaction, it rolled back everything on the target side. When you restart, it will start from scratch again. This is to keep transaction integrity and consistency with the source database.
The APPLY process can start from where it left, let's assume 60%, only if there was a commit at 60%. If not, it would rollback to the last commit and start from there. Replication works the same way Oracle does. We either commit whole transactions, or rollback whole transactions.
Krupesh Desai October 09, 2014 09:47