Using copy-only or cloaked snapshot backups to affect how differentials are based

SQL Server records the history of successful database backups in the msdb system database. It uses this history in to decide how to base differential backups. In particular, SQL Server creates differential database backups as cumulative with respect to the last full database backup that it has recorded in the msdb. This action allows for a quick recovery in case a failure has been detected after the last full database backup.

Assume that full backups are created every day at midnight; differentials are created every day at 6AM, noon, and 6PM; and transaction log backups are created every two hours. If a failure occurs at 7:50 P.M. on Tuesday, then a point in time recovery could be achieved with a restore of: the full database from Tuesday at 12AM, followed by the differential at 6PM on Tuesday, and finally the transaction log at 8PM (choose "to 7:50 P.M.").

However, with persistent frozen image backups, it may not be feasible to retain the daily full backup after the next full backup has been created. If a point in time restore is required before the latest backup, the differentials can effectively be based on the backups that no longer exist. The only alternative would be to recover based upon the last full backup that had been retained. You would have to use a potentially long sequence of transaction log images.

To resolve this issue, NetBackup lets you create the SQL Server Snapshot Client backups that are not recorded in the msdb. To create these backups in SQL Server 2005 or later, NetBackup uses the copy-only backup feature, which allows the backups to be created as out-of-band. In SQL Server 2000, since copy-only backups are not available, NetBackup allows these backups to be cloaked. This action creates the backup of which SQL Server is not aware.

In SQL Server 2000, NetBackup uses cloaking to provide SQL Server with an "unsuccessful" status. This action inhibits SQL Server from recording that the backup had occurred. Due to the unsuccessful status, the job line of the MSSQL progress monitor shows a -1 status. However the NetBackup server job monitor registers the job as successful. NetBackup places information in its catalog to denote when a backup has been cloaked and uses this information to determine full database recovery paths. In SQL Server 2005 or later, cloaking is not needed because SQL Server does not record the backup, but declares it as copy-only.