Migrating Project Server 2013 Instance Between Environments

If you have Project Server 2013 instance in your organization and you received a request for moving the Project Server Instance from Production to Quality/ Development, Here is a list of full steps for accomplishing the task.

Note : Make sure that your environments are at the same path for SharePoint Server 2013 and Project Server 2013, also I would recommend if you able to take a full backup of the environments .

At first, we need to remove any existing Project Server instance on the target environment, in order to achieve that , do the following

  • Connect to Development/Quality Application server , launch SharePoint 2013 Management Shell , then type the following

    Dismount-SPProjectWebInstance -SiteCollection “http://SPSERVER/PWA”

    Where “http://SPSERVER/PWA” is URl of Project server instance in target environment

    Check Project Server Service Application from Central Administration to make sure that PWA instance has been removed

  • Using SharePoint 2013 management Shell remove existing SharePoint Content DB which hosts PWA Site Collection

    Dismount-SPContentDatabase “<DB Name>”

  • Backup the SharePoint Content DB which hosting PWA and Site Collection and Project Server Service DB from Production Server (Source ) to be restored at Quality/Development (Destination Server)
  • Restore the two databases into SQL at Quality/Development (Destination), once restored, give the correct permission on the restored DBs, in my environment, I have Farm Account is MUSP_Qfarm, I gave him (dbo) permission on the restored DBs.

  • Mount Restored Content DB to web application which will host PWA at quality/development environment (destination)
Mount-SPContentDatabase "MyDatabase" -DatabaseServer "MyServer" -WebApplication http://sitename
  • Now, mounting the restored Project Web App Database to the web application

Mount-SPProjectDatabase -Name “Name of the restored Project Web App database to mount” –WebApplication “Web Application ULR that the Project Web App database will mount to” –DatabaseServer “Test / Dev SQL Server where the database was restored

  • Provisioning the PWA Site Collection in the web application
  • Mount-SPProjectWebInstance –DatabaseName “Name of the restored Project Web App database to mount” –SiteCollection “web application URL + PWA path” –DatabaseServer “Test / Dev SQL Server where the database was restored

Post Migration Steps

After Provisioning Project Server Instance on Quality/Development Environment (destination) , you need to change Project Web App Administrator Account to farm account on destination environment .

  1. Go to Central Administration -> Manage Service Apps -> Project Server Service App
  2. Choose to edit your project server instance.
  3. Modify the Administrator Account to be correct account for the destination environment




Categories: Project Server 2013

Configure an OLAP Cube in project server 2013

Project Server as a product introduces collection of reports for helping projects managers, portfolio managers, and top managers in the organization in tracking the projects plan , measuring the performance of employees , and tracking projects Issues and Risks, …

To build reports in project server, you need to configure OLAP Cube

  1. Install SQL Server Native Client on SQL Sever


  2. Then install SQLSERVER2008_ASAMO10 on Project Server 2013 Application Server


  3. Restart Project Server Service from Central Administration –> System Setting –> Services on server
  4. Add FarmAdmin to administrators group on SQL Server Analysis Service.

    (In Management Studio: Connect to Analysis Services->right click->properties->Security ->Add->FarmAdmin )

  5. Give Analysis Service User SPDataAccess Permission on Project Server Service DBs (PWA)
Categories: Project Server 2013

SharePoint 2013 : Change the Distributed Cache Service managed account

February 29, 2016 Leave a comment

After Completing the configuration of SharePoint Farm , i noticed that SharePoint Health Analyzer in central administration site has detected critical events that require my attention. one of these events was  changing  Distributed Cached Service Account in SharePoint servers because it runs under farm account.

execute each of  below steps

$CacheService=$Farm.Services | Where {$_.Name -eq "AppFabricCachingService"}
$Accnt = Get-SPManagedAccount -Identity Domain\ServiceAccount
$CacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
$CacheService.ProcessIdentity.ManagedAccount = $Accnt

For your info , in case of you have multiple servers in the farm, and distributed cache service is running on multiple server , you may encounter some issues like changes only applied on the server in which you execute above commands . i will prepare a post for resolving any issues related to distributed cache service.

The Execute method of job definition Microsoft.Office.Server.UserProfiles.UserProfileImportJob

February 28, 2016 Leave a comment

i had an issue related with profile synchronization server, Event ID 6398, the event description is

The Execute method of job definition Microsoft.Office.Server.UserProfiles.UserProfileImportJob (ID f3529d29-2c4e-44fe-bf62-f7c8923d3ba0) threw an exception. More information is included below.

There was no endpoint listening at http://SPDemo:***/ResourceManagementService/MEX that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.” 

this is issue has usually occurred because of reboot in which  Forefront Identity Manager service 

didn’t start


so you need to start it manually , Please start Forefront Identity Manager service and Forefront Identity Manager Synchronization service from Run >> Services.msc


Distributed Cache Service Exception: Unexpected exception in FeedCacheService.IsRepopulationNeeded: Cache cluster is down, restart the cache cluster and Retry.

February 26, 2016 Leave a comment

I have been working on intranet Portal Project for a client, after completing the configuration and distribution of the services inside the farm, we found an error occurs every 5 minutes, the event id is 6398, and the event description is:

The Execute method of job definition Microsoft.Office.Server.UserProfiles.LMTRepopulationJob (ID 07bbf799-deb4-422f-8df8-81a30d22b1a1) threw an exception. More information is included below.

Unexpected exception in FeedCacheService.IsRepopulationNeeded: Cache cluster is down, restart the cache cluster and Retry.


The issue seems related to distributed cache service, so we run commands to check the health of distributed cache service



The result was all servers are UP, that’s means that the configuration of the distributed cache service is correct, so I tried to check the permissions of the cache cluster by running the command



It displayed  wss_wpg and wss_wpg_admin so i went looking in wss_wpg group and the user profile app (UPA) account was missing.

If the user profile app (UPA) account doesn’t have permissions, then you’ll see “Cache cluster is down, restart the cache cluster and Retry” a lot specifically, although with the farm account name in the error details as this is a timer-job.

The fix for this is to grant the service-account running whatever service is failing access to the cache-cluster as sometimes these permissions can be missing:

Grant-CacheAllowedClientAccount -Account “DOMAIN\service_account”


Categories: SharePoint 2013

Search Service Application Exceptions – SharePoint 2013

January 27, 2016 Leave a comment

One of our clients requested a support for fixing issues in Sharepoint 2013 search service Application, while I was reviewing servers Event viewer and Log files I found the following events

In Event Viewer , I found the following events :


  • The Execute method of job definition Microsoft.Office.Server.Search.Administration.QueryClassificationDictionaryUpdateTimerJobDefinition (ID e3da691e-7b38-424f-8a36-1f0ef37e92d6) threw an exception. More information is included below.

The search application ‘5575749e-6c95-4763-a9bb-eadde5569928’ on server SPS-D01 did not finish loading. View the event logs on the affected server for more information.


  • Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (f1f27b7f-aa64-44c4-bdf2-2a01bfb8b23a).

 Reason: The device is not ready.

Technical Support Details:

System.IO.FileNotFoundException: The device is not ready.

at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()

at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)


in SharePoint log files , I found the following exceptions,

  • failed to get default collection for application **** Search Service System.Runtime.InteropServices.COMException (0x80070015): The search application ‘ on server SPS-D01 did not finish loading. View the event logs on the affected server for more information.     at Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteCode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)     at Microsoft.Office.Server.Search.Administration.SearchApi..ctor(SearchServiceApplication application)     at Microsoft.Office.Server.Search.Administration.SearchServiceApplication.get_SearchApi()     at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize() StackTrace:  at Microsoft.Offi..


  • Critical: The synchronization operation of the search component: 5575749e-6c95-4763-a9bb-eadde5569928 associated to the search application: Search Service on server: SPS-D01 has failed. The component version is not compatible with the search database: SP_INT_Search_SVC_CrawlStore on server: sqld01. The possible cause for this failure is The database schema version is less than the minimum backwards compatibility schema version that is supported for this component. To resolve this problem upgrade this database.. 6942599d-2f5b-80db-9ac6-b4cdbce18e31



The cause

If you review above exception, you will understand that one of the search components version is not compatible with the search database, this is could happen when you apply windows update on servers , when I asked him , if you applied any windows update , he answered by yes we applied windows update yesterday


The resolution,

I just re-run configuration wizard on servers one by one


Categories: Search, SharePoint 2013

WorkFlow Manager Exception: Register-SPWorkflowService Failed to query the OAuth S2s metadata error

December 8, 2015 Leave a comment

After completing the installation of workflow manager component on the system, we need to configure it so that it works with SharePoint Farm 2013, to complete this step we should run the following Commands on SharePoint 2013 Management Shell

Register-SPWorkflowService -SPSite ‘https://myhost/mysite&#8217; -WorkflowHostUri ‘http://workflowhost:12991&#8217;

Workflow Manager URL has to be fully qualified server name with appropriate port no

But  it throws the following error



After investigating and reviewing SharePoint Log Files, I found the following error

Microsoft.Workflow.Client.InvalidRequestException: Failed to query the OAuth S2S metadata endpoint at URI ‘http://×××××××××/_layouts/15/metadata/json/1&#8217;. Error details: ‘The metadata endpoint responded with an error. HTTP status code: Forbidden.’. HTTP headers received from the server – ActivityId: 510ac2df-d86a-443d-a45a-f74ce471a45d. NodeId: MU-SPW-D01. Scope: /SharePoint. Client ActivityId : b6023d4e-806b-49b6-ae9f-5da187ab42d8. —> System.Net.WebException: The remote server returned an error: (400) Bad Request.     at Microsoft.Workflow.Common.AsyncResult.End[TAsyncResult](IAsyncResult result)     at Microsoft.Workflow.Client.HttpGetResponseAsyncResult`1.End(IAsyncResult result)     at Microsoft.Workflow.Client.ClientHelpers.SendRequest[T](HttpWebRequest request, T content)

Actually, this issue may appear for more than reason, but do the following actions to solve your issue

  • maybe it trying to connect to SharePoint URL (http://xxxx/_layouts/15/metadata/json/1) and it is not accessible from workflow manager server , in this case you , you should add the SharePoint url to the Workflow manager server host file
  • run the below command before running the Register-SPWorkflowService  command$config = (Get-SPSecurityTokenServiceConfig)
    $config.AllowOAuthOverHttp = $true
    $config.AllowMetaDataOverHttp = $true