This article has been archived. It is offered "as is" and will no longer be updated.
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.
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.
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. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.
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, contact 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 Web site:
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.
Microsoft Content Management Server 2002 SP1a
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
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.
Microsoft has confirmed that this is a problem in Content Management Server 2002.
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:
Create a local folder for the PrepareNodesForDelete.sql SQL Script.
Copy the PrepareNodesForDelete.sql file to a local folder that you created.
Back up the Content Management Server database.
If you are using SQL Server as the database server for your Content Management Server, follow these steps for each SQL query file:
On the main SQL Server in your configuration, start SQL Query Analyzer.
In the Database list, select the Content Management Server database.
On the File menu, click Open.
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.
On the Query menu, click Execute.
When the query has finished running, you receive the following message:
The command(s) completed successfully.
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.