Common errors when a PWA site is deleted ‘incorrectly’
By blurg64
Disclaimer: This post isn’t going to be up to the level of one of Brian Smith’s technical posts and is based on my own experiences and testing. You’re mileage my vary and I encourage you to vigorously test anything detailed in this post before attempting yourself, I accept no liability should you run into issues etc etc.
Recently there have been a number of posts in the project forums from users that have been running into issues when they have deleted a PWA instance incorrectly. Now what do I mean by incorrectly? Well, by deleting the PWA instance any way other than via the Project Server Service Application > Delete Instance.
So to start, what are the errors you can run into?
The Project Web App Path Site is invalid. Correct path and try again.
The most obvious error is not being able to create a new PWA instance with the name of an instance you had previously deleted incorrectly, even though the Project Server Service Application is showing that particular instance does not exist. From my experimenting this can occur if the PWA site collection is deleted from the ContentDB manually (in the example below, the PWA2 site collection).
Note this error will also be seen if you are legitimately trying to create a PWA instance with a duplicate path.
Event 7626 – Cannot start queue
The second common error is a number of Event 7626 in the Event viewer indicating the queue’s (both Project and Timesheet) cannot be started. Again, this was seen when the /PWA2 site collection was manually deleted.
The exact errors you may see (for the search engines) are:
Cannot start queue. SSP:
SiteUID: Url: Queue: ProjectQ Cannot start queue. SSP:
SiteUID: Url: Queue: TimesheetQ
The database specified is already used by another project server. Enter a different server or database name and try again.
This error can occur if the user deletes the ContentDB hosting the PWA site collection and no other PWA instances exist using those Project databases. As you would imagine, you can also see this error if a legitimate PWA site is using those databases, so make sure you are certain.
So how to fix it?
The easiest fix is to restore the deleted site collection or contentdb from a backup, and then delete the site correctly via the Project Server Service Application.
If you don’t have backups then you are going to need to remove the left over configuration manually, using some PowerShell as outlined below.
1. Find the Project Server Service Application
The first command below will bring back all service applications where the TypeName contains the word Project and assigns them into an object called $serviceapp:
[sourcecode]
$serviceapp = get-spserviceapplication | ? {$_.TypeName –like “*Project*”}
[/sourcecode]
The second command takes the object and then formats the output as seen above. If you don’t see anything returned, then there are either no Project Server Service Application configured, or you may have typed the command wrong.
2. View the Site Collection Properties
Now that the $serviceapp object contains the service application instance, the next thing we want to do is see the site collections associated with it. To do this, type the following:
[sourcecode]
$pwainstances = $serviceapp.Sitecollection
$pwainstances
[/sourcecode]
This will find the various site collections associated with the instance:
In this case, there are two instances associated with the Project Server Service Application, the good /PWA one and the incorrectly deleted /PWA2 one. Notice even though the underlying site collection has been deleted, SharePoint still thinks its there in the configuration.
3. Remove the configuration for the incorrectly deleted instance
To remove the configuration of the /PWA2 site, enter the following:
[sourcecode]
$toberemoved = $pwainstances | ? {$_.Id –eq “
$toberemoved
[/sourcecode]
The second $toberemoved shows that the object contains the PWA2 instance that is to be removed. To perform the actual removal, enter:
[sourcecode]
$toberemoved.Delete()
[/sourcecode]
Finally, perform a check to make sure the instance was deleted as follows:
If all went well, the object $toberemoved should be empty meaning the configuration within SharePoint has been removed and you should be free to go and create your PWA site again without error.