sql server minus one day
Instead of restoring a daily full backup, you could:


Take weekly full backups of production, restoring them to the D-1 server the next day.
Take daily differential backups of production, restoring them to the D-1 server the following day.


The daily restores from the differential backup will be much faster than restoring the entire database each day.

I'd advise against using replication for this; as @Mark Storey-Smith said, you will now have two problems to manage instead of one.