Copy-only backup是一种独立于传统SQL Backup方法的一种备份方式. 一般来说, 做一次数据库备份会影响到后面的备份和还原作业. 然而, 有时你需要为了某个特殊的目的而做一次备份但却不想影响到你数据库原有的backup和restore的计划. Copy-only backup就是为这种目的而服务的.
一般来说, 当你为数据库做一个backup的时候, 数据库就开始一个新的log chain, 或继续已经有的log chain(这取决于你采用的备份方式). 比如说, 你需要一份数据库的拷贝, 然而, 你不能使用日常定时计划好了的backup. 让我们举一个你不用copy-only backup的例子吧.
- 执行一次普通的full backup.
- 做一串transaction log backup.
- 再做一次full backup(为了得到你想要的那份数据库的拷贝).
- 更多的transaction log backup.
- 删掉第三步的backup(为了节约空间).
- 数据库出现了灾难, 需要从backup中恢复.
在这种情形下, 你只能restore到第2步的最后一个transaction log backup, 因为第4步的transaction log backup是基于第三步的full backup的.
现在, 如果第3步的backup是copy-only backup的话, 那你就没有任何问题了, 因为你没有重新建立一个新的log chain.
参考资料
=======================
Backup Internals
Copy-Only Backups (SQL Server)
https://msdn.microsoft.com/en-us/library/ms191495.aspx
What is a Copy Only Backup?
http://stackoverflow.com/questions/19035431/what-is-a-copy-only-backup