Learn to use the COPY_ONLY flag for one off backups - SQL Server with Mr. Denny

SQL Server with Mr. Denny

Aug 17 2009   11:33AM GMT

Learn to use the COPY_ONLY flag for one off backups



Posted by: mrdenny
BACKUP DATABASE, Backup & recovery

Taking a full backup when doing major database upgrades is a great idea.  However if you are taking differential backups this one off full backup will break the differential backup chain.

Assume you take full backups Sunday morning and differentials every other morning.  On Thursday you need to do take a full backup and do a database release.  On Friday you need to restore the database, and you restore Sunday’s backup and then try and restore the diff from Friday morning and get an error.

You can avoid this by using the COPY_ONLY flag when running the BACKUP DATABASE command.  This tells the SQL Server to take the full backup without resetting the internal flags so that the differential backups will still be usable.

Denny

Comment on this Post


You must be logged-in to post a comment. Log-in/Register

RajeshRamadas  |   Aug 19 2009   7:27PM GMT

The actual option that you need to use for this is called “COPY_ONLY”.

EXAMPLE:
BACKUP DATABASE dbname TO DISK=’c:tempdbname.bak’ WITH COPY_ONLY;


 

mrdenny  |   Aug 19 2009   7:50PM GMT

Rajesh, Thanks for pointing that out. I’ve updated the title and the post. Not sure how I missed that. Sometimes the fingers type faster than the eyes can proof read.

Thanks,
Denny