following application scenario: (interal tests, Sybase 16)
We've two test systems (virtual machines), one with VMWare, one with Hyper-V. In each of the database we've a size about ~100 up to 140 GB.
We backup each virtual machine every day and also backup the database seperatly on an iSCSI-Device. These are huge amounts of data, every day 100 GB or more..
Is it possible only to backup/save database-data with the changes from yesterday to "now"?
On day "one" take a full backup that will back up both the database file and the active transaction log, and rename and restart the transaction log.
dbbackup -c dba,sql -r -n d:\backup
d:\backup now contains pmiller.db and YYMMDD##.log (for example, 140723AA.log)
Each day, take an incremental backup, which will only backup the transaction log, not the database file, and again rename and restart the transaciton log. The transaciton log contain all the operations that took place since the last backup.
dbbackup -c dba,sql -t -r -n d:\backup
d:\backup now contains pmiller.db and another YYMMDD##.log (for example 140724AA.log)
If you ever need to recover, the database and log files in d:\backup can be used to recover the database.
At some point, on day "X" archive the contents of the d:\backup directory, and start over again by taking a full backup.
answered 23 Jul '14, 15:53
Just to add to Reg's answer:
There are two different kinds of "incremental backups" that are desribed in the SQL Anywhere documentation, i.e. you make a full backup and then
The latter has the advantage that you do not have to apply a series of logs in case of recovery but only one file.
Apparently, it has the drawback that the current log itself will be bigger between full backups, and it will take longer to do the log backup itself.