Cascade Skyline - with Microsoft Logo and Project Support header - author Brian Smith

Project Server 2007: PWA Provisioning issue after February CU – Cannot insert duplicate key row

Project Server 2007: PWA Provisioning issue after February CU – Cannot insert duplicate key row

  • Comments 7

**** Update  (Thanks for the reminder to update this one Seth)  This issue is resolved by the August CU for Project Server 2007 the details of which can be found at http://blogs.msdn.com/chrisfie/archive/2009/08/27/announcing-the-release-of-the-microsoft-project-and-project-server-2007-august-cumulative-update.aspx. and the direct link is http://support.microsoft.com/kb/973937.

Details of the specific issue and fix:

You install the update that is described in Microsoft Knowledge Base (KB) article 968271. When you create a site in Project Server 2007 that has the Multilingual User Interface Pack (MUI) installed, a second timer job is created in the native language and the site provisioning fails. ****

The full error is Cannot insert duplicate key row in object 'dbo.Objects' with unique index 'IX_Objects_ClassId_ParentId_Name', and this occurs when trying to provision a new PWA site in a farm.  Some background first, and then the workaround.  In the February CU we added a fix for the “waiting for resources” problems customers had run into when trying to provision new PWA sites.  This was caused by a missing timer job.  The fix checked for the timer job, and if it wasn’t found it was created – which for most of our customers was a perfect fix. However, for customers running multiple language versions (MUIs), or even just non US English versions it could fail to detect the timer job and think it was missing and try to re-create it – which led to the error!

My colleague Aik had been working on this problem and had a couple of workarounds we’d shared with customers and these turned up back in my blog comments a couple of days ago (Thanks Jose!) – so I thought the time was right for a full posting.  So here are the workarounds – with option #1 being the favored one as it has the least impact on the users of the server:

Option #1 – Delete sync jobs before provisioning site

  1. To delete a timer definition job, find the Job ID by going to the Sharepoint Central Administration site | Operations | Timer Job Definitions
  2. Look for the Project Server sync jobs and right click on the links and select Copy Link – the default names for the jobs (in English) will be something like Project Server Synchronizing job for ‘SharedServices1’.
  3. Paste the link into Notepad and the link will look something like this: :/_admin/JobEdit.aspx?JobId=57b935d4%2Db43f%2D4dc4%2Dbd9c%2Dc74bb000b9c6">http://<servername>:<Central Admin Port>/_admin/JobEdit.aspx?JobId=57b935d4%2Db43f%2D4dc4%2Dbd9c%2Dc74bb000b9c6
  4. Copy out just the JobId section and replace the text "%2D" with a dash e.g -
  5. Once you are done your GUID should look like the following based on the example above: 57b935d4-b43f-4dc4-bd9c-c74bb000b9c6
  6. Run the following command with the jobID. [stsadm -o deleteconfigurationobject -id <job_Id>]. For example: stsadm -o deleteconfigurationobject -id 57b935d4-b43f-4dc4-bd9c-c74bb000b9c6
  7. Make sure to delete both Project Server Synchronization Timer jobs
  8. Provision site as you normally would.

Option#2 – Change the regional settings

  1. Change the regional settings on the server to MATCH the language of the MUI.
  2. Provision site
  3. Change the regional settings back to it’s original.

Any issues, or if you need some help working through these steps then please contact support.  My blog reader Jose says we are may be fixing this in the June CU – though I couldn’t possibly comment…

Technorati Tags: ,
Leave a Comment
  • Please add 6 and 4 and type the answer here:
  • Post
  • This article is not complete.

    My environment

    W2003en32b (regional settings czech) + MPS 2007en+ Sp2 + Czech MUI.

    approaches

    1) Provisioning -> Failed - see the Event Log & Existing MPS instances do not work !!!

    2)changed OS  regional settings  to EN -> Provisioning -> Failed - see the Event Log & Existing MPS instances do not work .

    (and of cour I dont know how to fix it, i try to delete timers but i didn't succed)

    3rd approach  Delete Timer -> Provisioning -> MPS Instance  Created -> Provisioning   -> error - Failed - see the Event Log( but Existing MPS instances  works so it's better than first 2 scenarios )

    So you shoud add information to you article that existing MPS instances should be corrupted

    ==================

    PS my incident no is SRZ090529000376

  • Hi Martin,

    Thanks for the feedback - I wasn't aware of this scenario. I am out of the office until Monday but will review the case you reference on my return.

    Best regards,

    Brian.

  • I tried both options and didnt work.

    Isn´t it grave to MS release this bug in a SP?

  • Sorry Filipe you still have issues.  This is a bug and you will not be charged if you open a support incident to help you resolve it.  Incidentally it was introduced with the Feb CU and not the SP - although that does not reduce the gravity of the situation.

    Best regards,

    Brian.

  • Hi Filipe,

    I think the solution to your problem is that you have to execute option, but afterwards delete the PWA entry from the Provision Project Web Access page and also delete the databases created by the SSP. Afterwards navigate to Central Administration -> Application Management -> Delete Site Collections. There you might find still an entry of the PWA site collection. Delete it. Afterwards run "iisreset /noforce" from the command prompt and try again to provision a new PWA instance.

    Cheers,

    Trutz

  • Had the same error when i created a new PWA site.

    Found out that the same sitename was used in the past and was removed.

    Looking in the Sharepoint_config database i removed the old link in dbo.SiteMap and my propplem was solved.

    Hope this could help someone.

    Regards,

    ShaiWa

  • Excellent!!!!!

Page 1 of 1 (7 items)