Sometime ago we noticed an issue with My Tasks in Project Server. Certain users were unable to access My Tasks at all – they simply got a SharePoint error page.
A little jiggery-pokery with callstack and custom errors later, we saw that the error referenced a GUID for a task. I then searched the Project Server Publishing DB for the task GUID and subsequently located the project to which it belonged. If I edited the project in MS Project and updated the server, removing the task assignment from the user, they could access my tasks.
For anyone who has a similar problem, here are the SQL queries you need:
select * from dbo.MSP_TASKS where TASK_UID='<Task GUID>'
select * from dbo.MSP_PROJECTS where PROJ_UID='<Project GUID>'
Most odd. So I logged a call with our friends in Microsoft Support.
It’s been parked for a while, but I received an email from support today advising me that the Infrastructure updates would help. Funnily enough, I’d already installed them (we keep our SharePoint farm as fully patched as we can), so that was almost all the way there.
Finally, they provided a short SQL script to run against the Publishing DB. This would identify any tasks that were orphaned and correct the issue. Luckily, we had none!
SELECT MP.PROJ_NAME, MAS.PROJ_UID, MAS.TASK_NAME,
MAS.TASK_UID, MR.RES_NAME, MAS.RES_UID,MAS.ASSN_UID
FROM MSP_ASSIGNMENTS_SAVED AS MAS
INNER JOIN MSP_PROJECTS AS MP
INNER JOIN MSP_RESOURCES as MR
WHERE TASK_UID NOT IN(SELECT TASK_UID
When I experienced the problem there were no hits in my old friend Google so hopefully this will help somebody, somewhere.
Here are the links to the infrastructure updates for completeness. Remember to read the docs carefully on installing these babies!