分享

SQLBackupRestore 2

 ylzrx 2011-10-08
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.
vdiversion01
Some common versions of sqlvdi.dll are as follows:

Version
Description
2000.080....
Installed by SQL Server 2000.
2000.080.0760.0
Installed by SQL Server 2000 SP3 and SP4.
2000.85.2101.0
Installed by SQL Server 2000 hotfix ref: 935465
(http://support.microsoft.com/default.aspx?scid=kb;en-us;935465)
2000.085.1054.0
Installed by SQL Server 2005.
2000.085.2004.0
Installed by SQL Server 2005 SP2.
2000.85.2102.0
Installed by SQL Server hotfix ref: 934396
(http://support.microsoft.com/default.aspx?scid=kb;en-us;934396)
2007.100.1442.32
Installed by SQL Server 2008
 
 
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.
vdiversion02

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.


Discuss or comment on this article on our Facebook group.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多