Here is is the full error.
Msg 601, Level 12, State 3, Line 6
Could not continue scan with NOLOCK due to data movement.
Msg 3167, Level 16, State 1, Line 6
RESTORE could not start database ‘database_name’.
Msg 3013, Level 16, State 1, Line 6
RESTORE LOG is terminating abnormally.
A project I support needs to migrate 5 databases that were not originally upgraded/migrated due to customer requirements. All of the other 150+ database already migrated have had several updates. New columns were added and some removed, new tables and other such changes, you get the idea. I did some comparisons to determine what needs to be done to upgrade the databases to the newest version and generated a few scripts. (Since the developers apparently did not track their changes) While attempting a restore this morning I ran into the above error.
I did my usually consultation with my DBA buddy *oogle and found a few articles/posts on a few forums but they really did not align with my scenario.
Then I remembered yesterday while working remotely I was downloading the databases from an FTP site and my VPN connection kept dropping. So I had to keep downloading the database repeatedly until I had the entire database. This is one of the database I downloaded when I was having the connection issue. Turns out I did not get all of the file even though the size was the same as the original.
Since I was in the office this morning I decided to download all of them again to make sure I had good copies of all of the files I needed to restore. The second time around everything worked as it should and no errors were displayed.
The databases apparently did have some corruption from the connection continuously dropping when down loading the copies. Downloading them again fixed the error above. When you get an error on a database make sure you look at all the steps you performed up to the point of the error. Sometimes fixing the error can be as simple as getting a good copy of the backup you are trying to restore.