Project Server 2016: Missing some UserViews?

*** 4/2/2018 – the fix was released in January https://blogs.technet.microsoft.com/projectsupport/2018/01/11/project-and-project-server-january-2018-updates-released/ but there is still one condition that might catch you out – if you have recently deleted a PWA then the site could still be in the recycle bin – and there will be an additional row in the pjpub.MSP_WEB_ADMIN table – so we will not create the views as the site could be restored.  Deleting fully should then allow you to add the views using the commands below.  ***

*** 12/20/2017 – the fix for this issue will be delivered in the January PU – planned for 1/9/2018 ***

We are still hunting down the cause of this issue but we are seeing either fresh Project Server 2016 Project Web App instances or updates to Project Server 2016 causing some of the usual views in the pjrep schema used for reporting to be dropped. One example of a missing view is the pjrep.MSP_EpmProject_UserView.  If you are familiar with 2013 then these views now in the pjrep schema were in the dbo schema of the Project Server 2013 database.

snip_20160708073813

 

You can re-create the views by running the following PowerShell command in the SharePoint Management Shell

Repair-SPProjectWebInstance <PWA URL> -RepairRule 7

snip_20160708073945

Once this complete, which only take s a few seconds, you should see the familiar views:

snip_20160708074218

I plan to do a more complete description of the ‘Repair’ command soon as I am sure you are all thinking  “What are the other RepairRules?”.

And a reminder – we only support direct access via these views if there is only a single PWA site in the content database.  So if you need direct access such as SQL Server Reporting Services then you will need to add additional content databases and have each PWA in its own.  For OLAP and OData reporting this restriction does not apply. *** And thanks Steve Sanderlin for the reminder – we don’t just not support direct access when there is more than 1 PWA – but we don’t create the views ***