Common errors when a PWA site is deleted ‘incorrectly’

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).

The Project Web App Site Path is invalid. Correct path and try again

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.

Event 7626 : Cannot start queue

The exact errors you may see (for the search engines) are:

Cannot start queue. SSP: <Guid> SiteUID: <Guid> Url: Queue: ProjectQ

Cannot start queue. SSP: <Guid> SiteUID: <Guid> 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.

The database specified is already used by another project server

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:

$serviceapp = get-spserviceapplication | ? {$_.TypeName –like “*Project*”}

Powershell - get-spserviceapplication

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:

$pwainstances = $serviceapp.Sitecollection

$pwainstances

This will find the various site collections associated with the instance:

Powershell - Instances in site collection

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:

$toberemoved = $pwainstances | ? {$_.Id –eq “<Id of the instance to delete>”}

$toberemoved

Powershell - Select individual instance

The second $toberemoved shows that the object contains the PWA2 instance that is to be removed. To perform the actual removal, enter:

$toberemoved.Delete()

Finally, perform a check to make sure the instance was deleted as follows:

Powershell - Delete site collection

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.