BUG: The SQL Server VDI Backup and Restore Operations Are Not Successful and the CoCreateInstance Error Occurs (323602)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
- Microsoft SQL Server 7.0
This article was previously published under Q323602 IMPORTANT: This article contains information about modifying the registry. Before you
modify the registry, make sure to back it up and make sure that you understand how to restore
the registry if a problem occurs. For information about how to back up, restore, and edit the
registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
BUG #: 357231 (SHILOH_BUGS)
SYMPTOMS
Backup or restore operations that use the SQL Server Virtual Device Interface (VDI) may not succeed and SQL Server logs one of the following errors in the SQL Server error log:
BackupVirtualDeviceSet::Initialize: CoCreateInstance failure on backup device 'TDPSQL-00000798-0000'. Operating system
error -2147467262 (No such interface supported).
BackupVirtualDeviceSet::Initialize: CoCreateInstance failure on backup device 'TDPSQL-00000036-0000'. Operating system
error -2147221163 (Interface not registered).
CAUSE
This problem occurs because a worker thread in SQL Server that was previously initialized in the Component Object Model (COM) has remained in a single-threaded apartment (STA). This worker thread then tries to load the SQL Server VDI. Because the SQL Server VDI is free threaded, it cannot be loaded to an STA, and one of error messages that is listed in the "Symptoms" section occur.
WORKAROUNDWARNING: If you use Registry Editor incorrectly, you may cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that you can solve
problems that result from using Registry Editor incorrectly. Use Registry Editor at your own
risk.
To change the registered threading model for the SQL Server VDI:
- Start Registry Editor (Regedt32.exe).
- Locate, and then click the following key in the registry:
HKEY_CLASSES_ROOT\CLSID\{40700425-0080-11d2-851f-00c04fc21759}\InprocServer32 - Edit the ThreadingModel value from Free to Both.
- Locate, and then click the following key in the registry:
HKEY_CLASSES_ROOT\CLSID\{b5e7a132-a7bd-11d1-84c2-00c04fc21759}\InprocServer32 - Edit the ThreadingModel value from Free to Both.
- Quit Registry Editor.
- You may have to stop, and then restart SQL Server for the workaround to take affect.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. MORE INFORMATION
For more information about how to use the SQL Server VDI, see the "Virtual Backup Device Samples" topic in SQL Server Books Online.
Modification Type: | Minor | Last Reviewed: | 12/1/2005 |
---|
Keywords: | kbbug kbpending KB323602 |
---|
|