Changes from SQL Server 2000
VDI applications written for SQL Server 2000 should work with SQL Server 2005. No changes should be necessary.
For snapshot backup support, we recommend the use of the VSS backup framework. In SQL Server 2005, the "sqlwriter" service is provided as the VSS writer for SQL Server.
Streaming VDI backups automatically include full-text catalogs. For snapshot backup, the application is responsible for copying the tree of files where the catalog is stored. Those locations can be found by querying sys.database_files or sys.master_files.
VDI error messages no longer are written to the VDI.LOG file. The Windows application event log is now used.
VDI shared memory segments may now be mapped at many different addresses. This has no impact on the functionality of a client, but should help in situations where virtual address limitations required tweaking the "-g" parameter of sqlservr.exe. Larger total buffer space should be available. In previous versions of VDI, a single contiguous allocation was required, which could preclude the use of large buffer allocation.
Snapshot restore of master is not supported. To restore master, just take the instance offline and copy the files.
Online restore is the default behavior in SQL Server 2005 Enterprise Edition. However, snapshot restore continues to be an offline operation.
BACKUP TO PIPE has been removed.
File and filegroup backups now contain log data. This is true for all backups, not just VDI backups. However, for snapshot backups, SQL Server 2005 assumes that no log has been saved in the snapshot.
Page restore is not supported with snapshot backups.
Differences from the Original VDI Specification
Be aware of the following differences from the original VDI specification:
- Multi-instance support. IClientVirtualDevice2 supercedes IClientVirtualDevice. The new interface is identical to the original except for the addition of the 'CreateEx' and 'OpenInSecondaryEx' methods. These extend the original 'Create' and 'OpenInSecondary' to allow for an instance name to be specified.
- Removable Pipe support. The 'VDF_Removable' feature is now supported with the VDF_LikePipe mode of operation. This assists applications which wish to support RESTORE operations using fewer devices than were originally used to BACKUP.
- WITH SNAPSHOT support. This feature enables an application to make a fast backup of SQL Server data and log files in a manner that allows integration with traditional log backup support. For more information, see SNAPSHOT Support.
IServerVirtualDevice2. This does not substantially affect client applications. Improvements were made to the server interface, which permit more flexible buffering decisions by the server. The 'maxIoDepth' and 'bufferAreaSize' fields in the VDConfig structure are deprecated. They will continue to be filled in with "reasonable" values, but applications should avoid using these fields.