Cascade Skyline - with Microsoft Logo and Project Support header - author Brian Smith

Project Server 2010: Common Project Web App (PWA) Provisioning Problems

Project Server 2010: Common Project Web App (PWA) Provisioning Problems

Rate This
  • Comments 6

This post rounds up a few of the more common issues that customers run into – either when provisioning a new Project Server 2010 Project Web App (PWA) site – or more commonly when provisioning a site against a set of existing databases (either 2007 or 2010 databases).  As you should know by now Project Server 2010 supports provisioning against a full set of 5 existing databases – the usual 4 project ones (Archive, Draft, Published and Reporting) and also the Content DB that contains a the PWA site you want to provision against.  The first thing to remember is that you cannot restore a Content DB to the same farm to make a copy of a PWA site – even on a different port.  You will get an error like this, and following the workaround in the message will not help you create a duplicate:

The attach operation cannot continue because another object in this farm already contains the same ID. Each object in a farm must have a unique ID. In order to proceed with the attach operation you must assign a new ID to this database. To attach this database with a new ID, use the Mount-SPContentDatabase command with the -AssignNewDatabaseId parameter. Note that if this new database and an existing database contain the same site collections, attaching this database will likely result in orphaned site collections due to conflicts between the two databases.

So not directly a provisioning problem – but one error you may run in to if you try to duplicate a PWA instance within the same farm.

The next group of scenarios will generate the same error – and I’ll list the various reasons this error may appear.  In this scenario I am restoring and provisioning against a set of databases from another server.  The first thing you will see is “Failed – see the Application event Log” and when you open this you will see a series of errors, the first being the generic Event ID 7070 (Source: Project Server, Task Category: Provisioning)

Provisioning 'PWA': One or more of the databases already contains schema. When editing or creating a Project Server instance, you may specify:
* Four databases that do not exist
* Four existing, blank databases
* Four existing Project Server databases of the same version from the same installation.
Combinations of blank, new, and existing databases are not allowed.

Followed by Event ID 6993

Provisioning 'PWA': Failed to provision databases. An exception occurred: Provisioning failed because the databases specified did not match.

then Event ID 6958

Provisioning 'PWA': Database provisioning failed.

and finally Event ID 6971

Failed to provision site PWA with error: Microsoft.Office.Project.Server.Administration.ProvisionException: Failed to provision databases. ---> Microsoft.Office.Project.Server.Administration.ProvisionException: Provisioning failed because the databases specified did not match.
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)
   --- End of inner exception stack trace ---
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)

You will see exactly the same errors in the ULS logs – and the more useful information level log EventID 6975, which will read something like this – although yours will likely vary depending on the reason for your failure (I know why mine failed already, because I broke it on purpose).  I have also put in some line breaks to make it more readable for each of the databases.

Provisioning 'PWA': Databases specified for site 'ProjectServer' are as follows:

  • Published: Name = 'Proj_Published', State = NotCreated
  • Draft: Name = 'Proj_Draft', State = ProjectSchema
  • Archive: Name = 'Proj_Archive', State = ProjectSchema
  • Reporting: Name = 'Proj_Reporting', State = ProjectSchema

It then becomes obvious that my Published is the one that is different – and if I go back and check what happened I will discover that when I restored my Published database I accidentally named it Prj_Published and not the Proj_Published that I entered on the PWA provisioning page.  Just re-name the DB and try again and all will be well. The type could happen either when restoring or when provisioning – but will give a similar error.  A slight variation on this theme is if the database you type exists but is just empty (you haven’t restored anything yet) – and you will see a state of Empty.

Provisioning 'PWA': Databases specified for site 'ProjectServer' are as follows:

  • Published: Name = 'Proj_Published', State = Empty
  • Draft: Name = 'Proj_Draft', State = ProjectSchema
  • Archive: Name = 'Proj_Archive', State = ProjectSchema
  • Reporting: Name = 'Proj_Reporting', State = ProjectSchema

The other thing that is checked when restoring is that the databases actually are a “matching set” and this is done in a couple of ways.  There are a couple of extended properties defined on the Project Server databases (you may also have your own defined for various purposes) and the first of these is the ProjectCollectionGuid – and this should match for all of the 4 project databases.  If for some reason this does not match then the failure will be similar to the ones above – the same event log entries in terms of EventID, and this time the ULS log EventID 6975 looks OK:

Provisioning 'PWA': Databases specified for site 'ProjectServer' are as follows:

  • Published: Name = 'Proj_Published', State = ProjectSchema
  • Draft: Name = 'Proj_Draft', State = ProjectSchema
  • Archive: Name = 'Proj_Archive', State = ProjectSchema
  • Reporting: Name = 'Proj_Reporting', State = ProjectSchema

but looking closer at the Application event Log Event ID 6971 (or the ULS log version) will show a slightly different error:

Failed to provision site PWA with error: Microsoft.Office.Project.Server.Administration.ProvisionException: Failed to provision databases. ---> Microsoft.Office.Project.Server.Administration.ProvisionException: Mismatched databases.   
at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)     -
-- End of inner exception stack trace ---   
at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)   
at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)

So Mismatched databases, rather than Provisioning failed because the databases specified did not match – very similar meaning, but different root cause and different type of mismatch.  The solution here is to ensure that your set of databases came from the same set – you cannot expect things to work if you mix things up with databases from different PWA instances. 

The only exception I would make here is a trick we sometimes use in support to avoid having to get customers to send us all 4 databases if our repro of their issue does not require the Archive or Reporting databases. You can fool Project Server into provisioning with an ‘empty’ archive and reporting database, as long as it isn’t really empty – but just has schema (all the tables, views etc.) created in the same version of Project Server (usually by just provisioning a new site and backing up and then restoring the archive and reporting db).  In this scenario you would copy the ProjectCollectionGuid from the draft or published to the archive and reporting – to ensure they all matched.  Not something you would do in production – as you would lose reporting data (and yiur archive) – but might make sense for some transfers to a development system for example.

The final mismatch that can occur and can be more difficult to spot the problem – is if you accidentally restore your databases to the wrong type – and to simulate this error I restored my Draft database but accidentally chose the backup of my Published database to restore it from.  The Event log errors are the same as the original ones – and the information message from the ULS EventID 6975 looks like the ‘typo’ problem – but the secret to the failure is in the other Extended Property – the ProjectDatabaseType.  In this case my extended properties look like this:

image

And the name of the database is typed correctly – but the ProjectDatabaseType should be ‘Working’, but instead says ‘Published’.  So Draft has a Type of ‘Working’ - Archive has a type of ‘Versions’ – Published and Reporting use the same terms.  Obviously the only way to resolve this is to restore the correct databases.  Just changing this value will likely lead to very bad things…

Moving on from mismatch issues, here are a couple of issues that you might see once Language Packs come in to play (and I’m not specifically going in to different SQL Collation issues – but they can give problems too – perhaps another post for this next time I have a good repro to document).

I’ll document the errors first, and then give details of the cause:

The first error from the Application event log – Event ID 7110

Failed to connect Proj_Published to PWA because the language of the database (English) does not match the language of the site (Portuguese - Brazilian).

followed by the 6993 and 6958 errors we have already seen, and then the 6971, but again with a slight variation on the text.

Failed to provision site PWA with error: Microsoft.Office.Project.Server.Administration.ProvisionException: Failed to provision databases. ---> Microsoft.Office.Project.Server.Administration.ProvisionException: Language of database does not match language of site
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CheckMatchingLcid(Int32 lcid, String connectionString, String siteName)
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)
   --- End of inner exception stack trace ---
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.EnsureDatabases(ProjectProvisionSettings provset, SPSite pwaSite, String adminName, String adminEmail, ProjectDatabaseStateType& originalDatabaseState, Guid& adminGuid)
   at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)

In this case I took a backup from an en-US site, and tried to provision on my en-US server with the language setting changed to pt-Br.  So even if you have the language pack installed (en-US in this case) you cannot change the base language of a provisioned set of databases – you must provision in the same language.

One slight variation on this theme and switching to a Project Server 2007 scenario  – which had me confused for a while, was the following scenario.  I was sure the site was US English – so tried to provision and got this error (Event ID 7110)

Failed to connect Proj_Published to PWA because the language of the database (Portuguese - Brazilian) does not match the language of the site (English).

OK, lets try that with pt-Br selected – hmm – Catch-22…

Failed to connect Proj_Draft to PWA because the language of the database (English) does not match the language of the site (Portuguese - Brazilian).

I have changed the nationality of this customer – to protect their identity – but they had been using an undocumented, unsupported workaround to get notification e-mails in a different language than the base – by updating the WADMIN_DEFAULT_LANGUAGE setting.  In 2007 this existed in both the Draft and Published databases – and if the two didn’t agree you would get this bizarre situation when it wouldn’t provision in either language.  In 2010 we only have that table in the Published database – so only see the first occurrence of this error.  If you tried to provision in the ‘other’ language then it would work – and your site would be provisioned be in that other language – but I think I’d have to say this isn’t supported as I am certain this wasn’t a tested scenario…

Leave a Comment
  • Please add 3 and 6 and type the answer here:
  • Post
  • In the case of error of Language of database does not match language of site, I found this articule whit the code of script to get the language of databases

    letrasandnumeros.com/.../language-of-database-does-not-match-language-of-site

  • got this error

    Provisioning 'odp': Post provisioning setup failed. Exception 'Microsoft.Office.Project.Server.Administration.ProvisionException: Post provision setup failed. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Security.SecurityException: Failed to create platform context: UserName:, CallingUser: IIL\admin.sql, Site: portafolio.iil.com.mx/odp     at Microsoft.Office.Project.Server.Base.PlatformContext.FailInitialize(Exception e)     at Microsoft.Office.Project.Server.Base.PlatformContext..ctor(Boolean isWindowsUser, String username, Guid siteId, SPUrlZone urlZone)  The Zone of the assembly that failed was:  MyComputer     --- End of inner exception stack trace ---     at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)     at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)     at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)     at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)     at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)     at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.GetPlatformContext(String Admin, Guid siteId)     at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.PostProvisionSetup(PostConfigType postConfigType, ProjectSite projectSite, Guid adminGuid)     --- End of inner exception stack trace ---     at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.PostProvisionSetup(PostConfigType postConfigType, ProjectSite projectSite, Guid adminGuid)     at Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)'.

    where is the error?????

  • Hi Jorge,

    Sorry for the slow response - let me know if you still have issues with provisioning, but hopefully you overcame this problem. The usual reason for this error is that the administrator account used is already in the Project Server database being provisioned - but is marked as inactive.

    Hope this helps others even if I am too late for Jorge.

    Best regards,

    Brian.

  • 日志名称:          Application

    来源:            Microsoft-SharePoint Products-Project Server

    日期:            2013/7/5 15:17:03

    事件 ID:         6971

    任务类别:          设置

    级别:            错误

    关键字:          

    描述:

    未能设置网站 PWA,出现错误: Microsoft.Office.Project.Server.Administration.ProvisionException: Database already used.

      在 Microsoft.Office.Project.Server.Administration.PsiServiceApplication.ValidateDatabasesUnused(ProjectProvisionSettings provset)

      在 Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)

    事件 Xml:

    <Event xmlns="schemas.microsoft.com/.../event">

     <System>

       <Provider Name="Microsoft-SharePoint Products-Project Server" Guid="{B2178104-1B5B-4C20-8C8F-960678CED9E5}" />

       <EventID>6971</EventID>

       <Version>14</Version>

       <Level>2</Level>

       <Task>20</Task>

       <Opcode>0</Opcode>

       <Keywords>0x4000000000000000</Keywords>

       <TimeCreated SystemTime="2013-07-05T07:17:03.068336800Z" />

       <EventRecordID>4672</EventRecordID>

       <Correlation ActivityID="{3B236B3B-A631-4EC6-8FB1-DAC8DA5195D1}" />

       <Execution ProcessID="5012" ThreadID="572" />

       <Channel>Application</Channel>

       <Computer>project2010.SZNARI.COM</Computer>

       <Security UserID="S-1-5-21-23275474-2213304565-2656626039-500" />

     </System>

     <EventData>

       <Data Name="string0">PWA</Data>

       <Data Name="string1">Microsoft.Office.Project.Server.Administration.ProvisionException: Database already used.

      在 Microsoft.Office.Project.Server.Administration.PsiServiceApplication.ValidateDatabasesUnused(ProjectProvisionSettings provset)

      在 Microsoft.Office.Project.Server.Administration.PsiServiceApplication.CreateSite(ProjectProvisionSettings provset)</Data>

     </EventData>

    </Event>

  • I can see my PWA site (Project server 2010) on the server locally. But when I try to access from another server within the same subnet, i get the 'internet explorer cannot display the webpage' error. What services are NOT running on my SharePoint + Project Server that cause this error ?

    Thanks.

  • Havig had my first play with Project Server 2010 this week, I've found this compilation of errors useful.  Thanks for posting.

Page 1 of 1 (6 items)