Prev Page Next Page
Recovery models
Main backup types
Backing up the database files by copying
The transaction log
Transaction log restore sequence
Log sequence numbers
Truncating and shrinking the transaction log
Backing up the tail
Inside the transaction log
So, what's in a backup file?
Test: A full backup does not contain deleted data
Verifying backup files
Verifying backup files on a budget
Cumulative backups
Recovering individual tables
Backup and restore history details
Backup reads and writes
Speeding up backups
Backup speed details
Speeding up restores
Restore state affects speed too
Backup and restore rights
Log shipping
Log shipping in SQL Server 2000
Setting up log shipping using Enterprise Manager
Checking the set up
Log shipping in SQL Server 2005
Setting up log shipping using Management Studio
Checking the set up
Log shipping status report
Log shipping in SQL Backup
Using the CopyTool utility
3rd party backup applications
VDI versions
VDI errors
SQL Backup - beyond compression
Restoring a chain of transaction log backups
Restoring to the latest possible state
Backing up multiple databases
Backup retention
Making a copy of the backup file
Backup file naming conventions
Restoring the latest backup set
Network resilience
Integrated database verification
Database file relocation
Improved backup retention
High-availability group support
Common SQL Backup issues
Installation checklist
Setting up rights
Configuring service rights
Backup data
Hanging issues
Common backup and restore errors
Error 3201 - when performing a backup to a network share
Full database backup file is larger than database size
Error 3205 - Too many backup devices specified for backup or restore
Error 4305 - an earlier transaction log backup is required
Bringing a database that is in recovery or read-only mode online
Using bulk-logged recovery model but transaction log backup is still large
Error 14274 - unable to delete SQL Server Agent job
Error messages when restoring from different versions of SQL Server.
vdi error codes
Restore speed details
Help, my transaction log file is huge!
Mirror or log ship

When SQL Server performs a backup, it generates the backup data in the Microsoft Tape Format (MTF), and stores it to disk or tape.


When third party backup applications are used, SQL Server generates the exact same data, only this time it passes it to the backup application instead of writing it out to disk or tape itself.


The backup data that is generated is identical in both cases.  The only difference is that it may be compressed and/or encrypted in the version that's generated by the backup application.

The Virtual Device Interface, or VDI, is what third party backup applications use to communicate with SQL Server.  At the time of writing, only Hyperbac uses a different technology.

The VDI is a set of COM interfaces that comes installed with SQL Server.  You can download the VDI SDK from this link.  Here's an outline of what goes on between a backup application and SQL Server, using VDI, during a backup:


And here's what's happening during a restore:


That's all there is to it.  No kidding.  I know what you're thinking, you're thinking 'Hey, that isn't rocket science.  I could do that.'.  And you'll be right.  Cause the VDI SDK includes a complete demo (in C) that shows you how to perform backups and restores using the VDI!  Now, all you need to do is to plug in your favourite compression algorithm in there ...

So, now that you know how the VDI works, the following should be clear:

·SQL Server provides the backup data.  The backup applications simply process the data whichever way they want to.

·SQL Server performs the restore i.e. creates the necessary data and log files for a new database, places the backup data in the right places etc.  The backup applications simply provide the backup data.

·The backup applications can usually convert a backup file from their proprietary format to the MTF format, so that it can be restored using regular SQL Server restore syntax.

·The backup applications should be able to support all backup and restore options provided by SQL Server.  They simply need to include the appropriate options with the BACKUP or RESTORE command that is sent to SQL Server.

Document history
7/4/2008    Added MTF information and overview.    
6/27/2008    Initial release.    
Copyright 2008 - 2021 Yohz Ventures Sdn Bhd. All rights reserved.
All product and company names are trademarks or registered trademarks of their respective owners.