FIX: You may receive a "Cannot insert duplicate key row in object '##impNodesToDelete'" error message when you try to import a Site Deployment Object (.sdo) file in Content Management Server 2002 (899962)



The information in this article applies to:

  • Microsoft Content Management Server 2002
  • Microsoft Content Management Server 2002 SP1
  • Microsoft Content Management Server 2002 SP1a

SYMPTOMS

In Microsoft Content Management Server (MCMS) 2002, when you try to import a Site Deployment Object (.sdo) file, the operation fails, and you may receive an error message that is similar to the following:
Error ID: -2147352567
Source File:
Source Method: .Net SqlClient Data Provider
Source Line: 0
Description: Cannot insert duplicate key row in object '##impNodesToDelete' with unique index 'PK_impNodesToDelete'. The statement has been terminated.
This problem occurs when all the following conditions are true:
  • You are trying to deploy a site.
  • You click to select the Delete all existing container contents when replacing a container check box.
  • The deleted items are included in the .sdo file.

CAUSE

This problem occurs because Content Management Server 2002 automatically adds the items to be deleted in the SDO package to the ##impNodesToDelete table. Additionally, the PrepareNodesForDelete stored procedure tries to add the same items to the ##impNodesToDelete table because you clicked to select the Delete all existing container contents when replacing a container check box. However, the PrepareNodesForDelete stored procedure does not verify that these items have already been added to the table. Therefore, this behavior causes the duplicate key error.

RESOLUTION

Hotfix information

A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next Content Management Server 2002 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

Microsoft Content Management Server 2002 SP1a

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other software updates.

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 tool in Control Panel.
   Date         Time   Size   File name
   ----------------------------------------------------
   24-May-2005  00:55  8,366  Preparenodesfordelete.sql

WORKAROUND

To work around this problem, import the SDO file two times. The first time, click to clear the Delete all existing container contents when replacing a container check box to make sure that the requested items are deleted. The second time, click to select the Delete all existing container contents when replacing a container check box. The problem will not occur because the items to be deleted are no longer in the database.

STATUS

Microsoft has confirmed that this is a problem in Content Management Server 2002.

MORE INFORMATION

This Content Management Server 2002 hotfix is a SQL query. This hotfix will update your Microsoft SQL Server database to address the specific problem that is described in this article. To install this fix, follow these steps:
  1. Create a local folder for the PrepareNodesForDelete.sql SQL Script.
  2. Copy the PrepareNodesForDelete.sql file to a local folder that you created.
  3. Back up the Content Management Server database.
  4. If you are using SQL Server as the database server for your Content Management Server, follow these steps for each SQL query file:
    1. On the main SQL Server in your configuration, start SQL Query Analyzer.
    2. In the Database list, select the Content Management Server database.
    3. On the File menu, click Open.
    4. Locate the PrepareNodesForDelete.sql SQL Script file, and then click Open.

      Note The PrepareNodesForDelete.sql file is located in the temporary folder that you created in step 1.
    5. On the Query menu, click Execute.
    6. When the query has finished running, you receive the following message:The command(s) completed successfully.
    7. Close SQL Query Analyzer.
Note You cannot remove this hotfix. If you want to return Microsoft Content Management Server 2002 to the installation that you had before you applies this hotfix, restore your SQL Server database.

Modification Type:MinorLast Reviewed:7/25/2006
Keywords:kbbug kbfix kbContentMgtServ2002SP2Fix kbContentMgtServ2002preSP2Fix kbHotfixServer kbQFE kbpubtypekc KB899962 kbAudDeveloper