Project Server 2016 errors 23000 and 26000 during the publishing process

Yesterday I ran into an issue related to Project Server 2016. This was the first time I used this product to publish a project and I did not expect any issues. First I have put some tasks into the project and their durations. After that I saved this project to Project Server using my desktop Project application and published it successfully. Later I decided to add some resources to the project and was not able to publish it again.


The following image is showing the error message which appears in the Project Server tasks list.


You get two failures:
ProjectPublishFailure (23000).
 name='ProjectPublishFailure'
 messagetype='Microsoft.Office.Project.Server.BusinessLayer.QueueMsg.UpdateSRAMessage: projectUid = 8ebbcaa0-6506-e811-9c4d-9cebe82e29b3'
 messageID='14'
 stage=''
 blocking='Block'

 and

 GeneralQueueJobFailed (26000) - ProjectPublish.UpdateSRAMessage.
 name='GeneralQueueJobFailed'
 GroupType='ProjectPublish'
 MessageType='UpdateSRAMessage'
 MessageId='14'

Also, you get some IDs to search in ULS logs, but you will not be able to find anything useful there. Just a "General error" messages. Project Server fails at 48% and you are not able to do anything after that. You will not be able to remove the project as well. The removal task fails at 42% with the same message but other errors' numbers appear: 23006 and 26000. I decided to update the SharePoint 2016 and a web application used for Project Server but these steps did not fix the issue.

There were some advices to remove the project using Delete Enterprise Objects page. Someone suggested to delete a project programmatically using CSOM or to remove the project from database on SQL Server. There was a suggestion to save a local copy, clear the cache and retry the deletion. Finally, I found the following discussion: MS Project Server Error when publishing project with resource. This was a solution to my problem.

To resolve the issue you need to modify the constraint MSP_ASSN_ENTERPRISE_ASSN_FINISH_DATE_RULE in the SQL table named [pjpub].[MSP_ASSN_ENTERPRISE]. This constraint contains an incorrect expression [ASSN_FINISH_DATE] <= '2149-12-31 23:59:00.000'. This expression should be replaced with the following one: [ASSN_FINISH_DATE] < =CONVERT(DATETIME, '2149-12-31 23:59:00.000', 120).

First, you need to identify the database where your PWA is hosted. In my case it was a content database for the main web application used on the SharePoint 2016. Then connect to your SQL server, find this database and create a SQL query. Finally, paste the following SQL query and run it to change the constraint:

USE [DBNAME]
GO
ALTER TABLE [pjpub].[MSP_ASSN_ENTERPRISE]
DROP CONSTRAINT [MSP_ASSN_ENTERPRISE_ASSN_FINISH_DATE_RULE];
GO
ALTER TABLE [pjpub].[MSP_ASSN_ENTERPRISE]  WITH NOCHECK ADD
CONSTRAINT [MSP_ASSN_ENTERPRISE_ASSN_FINISH_DATE_RULE]
CHECK  (([ASSN_FINISH_DATE]<=CONVERT(DATETIME, '2149-12-31 23:59:00.000', 120)));
GO
ALTER TABLE [pjpub].[MSP_ASSN_ENTERPRISE] CHECK
CONSTRAINT
[MSP_ASSN_ENTERPRISE_ASSN_FINISH_DATE_RULE];
GO

After that you need to open the project using the Project application on your PC, save the project and try to publish it. Your project should be published with no errors.

Comments