VDI versions

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

The SQL Server Virtual Device Interface (VDI) is implemented as a set of COM interfaces.  This means that there can only be one VDI library in use, even though you may have different versions of SQL Server installed.  The COM interfaces are located in a file named sqlvdi.dll.

To find out which version of the VDI is active, do a search in the registry under the HKEY_CLASSES_ROOT node, for the key {40700425-0080-11d2-851f-00c04fc21759}.  Under that node, you should see a InprocServer32 value.  The default data for that value points to the version of sqlvdi.dll that's registered on that server.


Some common versions of sqlvdi.dll are as follows:




Installed by SQL Server 2000.


Installed by SQL Server 2000 SP3 and SP4.


Installed by SQL Server 2000 hotfix ref: 935465



Installed by SQL Server 2005.


Installed by SQL Server 2005 SP2.


Installed by SQL Server hotfix ref: 934396



Installed by SQL Server 2005 SP3.



Installed by SQL Server 2008


Installed by SQL Server 2008 R2.


Installed by SQL Server 2012.


Installed by SQL Server 2014.


Installed by SQL Server 2016.


Installed by SQL Server 2017.


Installed by SQL Server 2019.


Generally, later versions of SQL Server is backwards compatible with earlier versions of SQL Server.  This means that if you have both SQL Server 2000 and SQL Server 2005 instances running on your server, you must ensure that the version of sqlvdi.dll that's registered is version 2000.085... or later, otherwise backup applications that use the VDI will fail when trying to back up or restore on the SQL Server 2005 instance (see here for some errors that may be caused by this mismatch).

In addition, if you are running 64-bit versions of SQL Server, SQL Server will register both 32-bit and 64-bit versions of sqlvdi.dll.  If your backup application is a 32-bit application, you'll need to ensure that both the 32-bit and 64-bit registered VDI files are of the same version.  To locate the registered 32-bit version of sqlvdi.dll in the registry, look under the HKEY_CLASSES_ROOT\Wow6432 node.


Surprisingly, this is a common issue, usually happening when you apply hotfix 935465 on a 64-bit server that has both SQL Server 2000 and SQL Server 2005 instances installed.  Hotfix 935465 does not have a 64-bit version of sqlvdi.dll, hence causing a mismatch of versions.  To fix this, the suggestion is to apply hotfix 934396.

Document history
5/17/2021    Added SQL Server 2019 versions.    
3/1/2018    Added SQL Server 2016, 2017 versions.    
12/17/2015    Added SQL Server 2014 version.    
5/9/2012    Added SQL Server 2012 version.    
10/12/2011    Added sqlvdi.dll versions.    
12/19/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.