The Volume Shadow Copy Service cannot create shadow copies on a computer that is running an x64-based version of Windows Server 2003 and a 32-bit version of SQL Server 2000

Symptoms

When you try to create shadow copies of local hard disks or of system state data, the Volume Shadow Copy Service cannot create the shadow copies. This problem occurs on a computer that hosts a server cluster (virtual server) and that is running the following software:
  • An x64-based version of Microsoft Windows Server 2003
  • A 32-bit version of Microsoft SQL Server 2000
  • Microsoft SQL Server Desktop Engine (MSDE)
  • The Microsoft Cluster service
You also cannot create shadow copies by using the Backup program. Additionally, the Backup log file may contain entries that resemble the following:
Volume shadow copy creation: Attempt 1.
Timeout before function completed
Error returned while creating the volume shadow copy: 0xffffffff.
Error returned while creating the volume shadow copy: ffffffff
Aborting Backup.
If you try to run the Vssadmin.exe command-line tool, the tool stops responding and does not list the MSDE writer. Additionally, the Application log file may contain entries that resemble the following:
Sqllib error: OLEDB Error encountered calling IDBInitialize::Initialize. hr = 0x80004005. SQLSTATE: 08001, Native Error: 17
Error state: 1, Severity: 16 Source: Microsoft OLE DB Provider for SQL Server
Error message: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
Note This problem may also occur on a stand-alone 32-bit version of Microsoft SQL Server 2000 that is running on an x64-based version of Windows Server 2003.

Cause

This problem occurs because the MSDE writer cannot connect to SQL Server. The MSDE writer must connect to SQL Server to send the required data to the Volume Shadow Copy Service.

The computer runs the Microsoft WOW64 emulator. The WOW64 emulator enables 32-bit programs to run on a 64-bit operating system. In a WOW64 environment, registry keys for 32-bit programs are stored under the following registry subkey:
HKEY_LOCAL_MACHINE\Software\Wow6432Node
However, the MSDE writer does not search entries under the Wow6432Node subkey, and the MSDE writer cannot find the registry entries that contain the name of the stand-alone computer or the name of the virtual server that is running SQL Server.

Resolution

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
322756 How to back up and restore the registry in Windows
To resolve this problem, download the hotfix that is mentioned in the following Microsoft Knowledge Base article.
913100 FIX: The MSDE writer is not included when you try to use the Vssadmin.exe tool to list subscribed volume shadow copy writers

For a SQL Server cluster, follow these steps:
  1. Open Registry Editor, and if you have the default SQL instance installed, locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSSQLServer\Cluster
    Or, if you are using a named instance, locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\ Wow6432Node\Microsoft\Microsoft SQL Server\<SQL instance name>\Cluster
  2. Note the values of the following registry entries:
    • ClusterName
      This registry entry is has a REG_SZ type. The value is the Virtual SQL Server name.
    • ClusterIpAddr
      This registry entry has a REG_MULTI_SZ type. The value is the Virtual SQL Server IP address.
  3. If you have the default SQL instance installed, copy the two registry entries in step 2 to the following registry subkey on all nodes:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Cluster
    Or, if you are using a named instance, copy the values to the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<SQL instance name>\Cluster
  4. After the registry entries are copied to the correct location on all nodes, restart the nodes.
For a stand-alone SQL Server, follow these steps:
  1. Open Registry Editor, and then locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client
  2. Under the registry subkey that you located in step 1, create the following registry entry with a REG_DWORD type:
    SharedMemoryOn
  3. Set the value of the SharedMemoryOn registry entry to 1.

More Information

For more information about how the Volume Shadow Copy Service works, visit the following Microsoft Web site:
Properties

Article ID: 913360 - Last Review: May 25, 2011 - Revision: 1

Feedback