Learn to use the COPY_ONLY flag for one off backups

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

Share

2 Responses

  1. 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;

  2. 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

Leave a Reply to mrdennyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trust DCAC with your data

Your data systems may be treading water today, but are they prepared for the next phase of your business growth?