Restore With Move has poor performance As part of our regular development cycle we need to take a copy of production into development databases.

To do this, we take a copy of production backups and move them to the Development Server. Then we use the RESTORE WITH MOVE function to define the where the data and logs should be stored.

This restore is very time consuming, and generally takes 2 to 3 times as long as a standard restore. This is an expensive overhead for us, as it often has to be done several times during the day.

I was wondering whether there is a more efficient way to perform this task.

I have tried writing the backup to several files to improve performance, and whilst this speeds up the backup, the RESTORE WITH MOVE seems unaffected.

Any help is greatly appreciated.
The restore speed will depend on the hardware you use for DEV environment.

I would suggest to turn on Instant File Initialization. When backups are restored the space has to be pre-allocated before a restore can occur and IFI is a boon for such scenarios. Instant file initialization only affects MDF and NDF files, not LDF files. In other words, transaction log files can’t take advantage of instant file initialization.

Also, you can play with BufferCount  and MaxTransferSize. Read up Optimizing Database Restores.