Skip to main content

Restoring PWA Site to another Web App in the same Farm

The scenario is this:


  • SharePoint 2016 Farm with Project Server
  • Two Web Apps
    • Development
    • UAT
  • One PWA on Development Web App.


I want to copy the PWA Site on Development web app to UAT to support a testing cycle.

As far as I knew there were two options:

1) Content Database Restore and Attach

Process would be backup your Dev Content Database, Restore to a new Content Database for QA, then mount the database on the appropriate web app and your off....

Problem:  Although you can do this with the -AssignNewDatabaseID switch in Powershell (to avoid two content db's having the same database id) the Site Collection (PWA) in the db still retains its SiteID which means there is a duplicate SiteID in the Configuration Database.  This stops the PWA site being created and alllocated correctly and becomes essentially orphaned.

This method is only any good for MOVING not COPYING

Back to the drawing board...

2) Backup-SPSite / Restore-SPSite

I didn't believe this would work as I have always encountered issues after the restore where the new host Web App isnt included in the PWS integration, so you cannot bulk update the sites and you cannot use the new Web App for Site Provisioning.

HOWEVER (and this is a work in progress) i think i may have found the solution, and that's the PWASITE SharePoint Feature.

Step 1:  Backup-SPSite to filesystem backup
Step 2:  Create new content database on your target web app (assumes this is already set up and a root site collection created)
Step 3:  Check existing Content Database is restricted so no new sites can go there
Step 4:  Restore-SPSite from filesystem backup
Step 5:  Disable-SPFeature pwasite on your newly restored PWA Site
Step 6:  Enable-SPFeature pwasite on the new site
(essentially turn it off and turn it back on again!)
Step 7:  Check Bulk Project Site Update and update the exisitng PWA Sites to your new web app host address 
(this is fixed by the disable/enable feature step)
Step 8:  Check your Site Provisioning settings are working.


So, that's it.  Pretty simple when you think about it.

We are testing this now so hopefully this will stand up to challenge.... if it doesn't I will post back with a sad face.


Comments

Popular posts from this blog

#projectserver2013 VIEW FAILURE: The view failed to load. Press OK to reload this view with the default settings. Press cancel to select another view.

** UPDATE ** includes notes relating to secondary bug where Timesheet is created without Administrative tasks.

Does this ring any bells?

This has been bugging me for months, but finally I have a repro for this:

Issue Summary:  When a task is deleted from a plan that is approved into a previous or current timesheet - even when there are no actuals on the task - you can no longer view the timesheet

The following repro has been proven:
- Setup system with Single Entry Mode, with enforced Status Approval before Timesheet Approval
- Create resource as own timesheet manager
- Create new project
- Create two tasks in the same week, starting monday with 5 days duration:  1) Task to assign actuals, 2) Task to delete post submission
- Assign Resource to tasks
- publish project
- as Timesheet User, go to the appropriate timesheet period for the tasks created
- Assign actual work to one task (task 1), leaving task 2 with no actual work
- Submit timesheet
- as Project Status Manager, approve the time on task 1 …

What to do when your application server goes bang

What happens when someone kills your Application Server?
So imagine the scenario:
Three Server Solution - SQL - SharePoint 2010 and Project Server 2010 Application Server (Central Admin Host) - Wfe/ReportServer
We wake one bleary Monday morning to find that some numpty has killed the application server and the users are baying for blood.
Well surprisingly SharePoint handles this disaster recovery scenario particularly well.  Well.  Better than I thought it would to be honest.
Rough steps:
- quick SQL backup to be safe - Rebuild your application server - reinstall pre-reqs - reinstall SP, PS, SPFSP1, SPS+PSSP1, Cumulative Update and other stuff you usually put on there. - Run your configuration wizard to reattach to the Farm, and select Host CA Site
The last step was what I was VERY wary of.  Would the server simply reattach to the Farm, even when there is no CA server available?  
Bingo your back.... almost.... you are going to get errors a-gogo in your event log as things just aren't quite back…

Reporting from Project Server 2016 - multiple sites and userviews

Just a quickie...
I've been interested in how MS have handled the "multiple PWA sites in a Content DB" thing since I read that this was their new approach.  Most of my reporting is via SSRS so i am reliant (still... in 2016) on DB queries rather than OData feeds (tsk) and this "querying a PWA DB with more than one PWA site in it is unsupported" quote was worrying me.

So it looks like what is happening is this.

When you create the first PWA site in a Content DB it hard-codes the SiteID into the _Userview view design elements.  This means that your first PWA Site is the default.  All the data for subsequent sites are still held in the tables against separate SiteID's but you cannot utilise the OOTB _Userview components (see below)


SELECT        ProjectFields....
FROM            pjrep.MSP_TVF_EpmProject('FF19B767-CA6D-4C4C-B123-C0B5AE5354D6') AS MSP_EpmProject 
LEFT OUTER JOIN
                      pjrep.MSP_TVF_EpmInternalProjectHierarchies('FF19B767-CA6…