Microsoft KB Archive/903646

= An application that uses the Virtual Device Interface feature of SQL Server 2000 to back up a SQL Server 2000 database may not back up the database =

Article ID: 903646

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-





SYMPTOMS
An application that uses the Virtual Device Interface feature of Microsoft SQL Server 2000 to back up a SQL Server 2000 database may not back up the database. When the backup operation fails, you experience the following exception:

HRESULT 0x80070005

Additionally, an error message that is similar to the following error message is logged in the VDI.log file:

pid(3260) tid(4004)

Error on VIRTUALDEVICE_master

Error at CVDS::Create: Create Memory Status Code: 5, x5

Explanation: Access is denied.

You typically experience this issue when multiple instances of the application that uses the Virtual Device Interface feature try to connect at the same time to different instances of SQL Server to initiate backups.



CAUSE
This issue occurs because the instances of the application that uses the Virtual Device Interface feature pass the same virtual device name to the IClientVirtualDeviceSet2::CreateEx function at the same time. SQL Server uses that virtual device name as the memory-mapped file name when SQL Server sets up shared memory for backup. This naming conflict causes the backup to fail.



RESOLUTION
To resolve this issue, generate a GUID as part of a virtual device name. An application that uses the Virtual Device Interface feature must provide a unique identifier on the computer for the virtual device name.



MORE INFORMATION
You can configure an application that uses the Virtual Device Interface feature to use the database name as the virtual device name. You can guarantee uniqueness in a single instance of SQL Server when you use the database name as the virtual device name. However, if you have multiple instances of SQL Server, the different instances create duplicate names. For example, each instance of SQL Server will have a master database, an msdb database, and a model database. If you rely on the database name as the virtual device name, you experience the issue that is described in this article when you schedule backups of these databases at the same time.

Additional query words: VDI

Keywords: kbtshoot kbprb KB903646

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.