FIX: A deadlock error may occur when you use Commerce Server Staging or BizTalk Adapter for Commerce Server Catalog to try to import catalog data in Commerce Server 2007 or in Commerce Server 2009

Applies to: Commerce Server 2009 StandardCommerce Server 2009 Enterprise


Consider the following scenario:
  • You have a computer that is running Microsoft Commerce Server 2007 or Microsoft Commerce Server 2009.
  • You try to import catalog data by using the Commerce Server Staging feature. Or, you use Microsoft BizTalk Adapter for Commerce Server Catalog to import catalog data on a BizTalk server.
In this scenario, the catalog data might not be imported. Additionally, an event that resembles the following is logged in the Application log if you use the Commerce Server Staging feature:


This issue occurs because the ctlg_CreateDropTempIndexes stored procedure of the import process for the catalog data causes in a deadlock in SQL Server.


Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft website: Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.


To apply this hotfix, you must have Commerce Server 2007 Service Package 2 (SP2) or Commerce Server 2009 installed.

Restart requirement

After you apply this hotfix, you do not have to restart the computer. However, you must restart the Commerce Server Catalog Import Host COM+ application after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

Post-installation steps

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 apply this hotfix, you must create the CatalogProductsIndex registry key and set its DWORD value to 1. After this key is set in the registry, the ctlg_CreateDropTempIndexes stored procedure is not used in the import process for the catalog data. 

To add the registry key, follow these steps:
  1. Open Registry Editor. To do this, use the appropriate method for your operating system:
    • In Windows Vista, click Start, type regedit in the Start Search box, and then press ENTER.
    • In Windows XP, click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following registry subkey on an x86-based computer:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Commerce Server 2007

    Note For an x64-based computer, click the following registry subkey:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Commerce Server 2007
  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type CatalogProductsIndex, and then press ENTER. 
  5. Right-click CatalogProductsIndex, click Modify.
  6. In the Value data box, type 1 or 0, and then click OK.

    • If you type 1, the ctlg_CreateDropTempIndexes stored procedure is not used in the import process for catalog data.
    • If you type 0, the ctlg_CreateDropTempIndexes stored procedure is used in the import process for catalog data.
  7. Exit Registry Editor.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.
Commerce Server 2007
File nameFile versionFile sizeDateTimePlatform
Microsoft.catalogserver.dll6.0.4109.49752,42405-Oct- 201008:54x86
Microsoft.commerceserver.runtime.dll6.0.4109.49846,64805-Oct- 201008:54x86
Commerce Server 2009
File nameFile versionFile sizeDateTimePlatform
Microsoft.catalogserver.dll6.0.4171.29756,52001-Oct- 201013:35x86
Microsoft.commerceserver.runtime.dll6.0.4171.29850,74401-Oct- 201013:35x86
Microsoft.commerceserver.catalog.dll6.0.4171.29961,33601-Oct- 201013:07x86


Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.


For more information about the staging options for business data, visit the following Microsoft website:For more information about how to write code for the BizTalk Adapters, visit the following Microsoft website: