Migrating Project Server 2016 To Another Server

Follow the simple steps below to restore Project Server 2016 to another server.


To take the backup from the source, you can follow this article.


If you have an existing instance of PWA, use the following commands 1 and 2 to remove it first. If the size is quite big, it may take some time to remove the site.

Remove-SPSite -Identity http://ServerName/PWA/
Dismount-SPContentDatabase WSS_Content

Delete the database if needed.

To restore the backup database which was taken from the source, you can follow this article.

If you do not have an existing instance, use the following

Mount-SPContentDatabase WSS_Content -DatabaseServer DBServerName\SQLInstanceName –WebApplication http://ServerName
Test-SPContentDatabase -name WSS_Content  -webapplication http://ServerName

Restart the server if you don’t see any change.

Happy migration 🙂


Finding Duplicate Record SQL

In order to find duplicate records within a set of data, use the following query.

SELECT [ProjectName],

[ProjectDeliverableID], COUNT([ProjectDeliverableID])
FROM Deliverable
GROUP BY [ProjectName],[ProjectDeliverableID]
HAVING COUNT([ProjectDeliverableID]) > 1

Task List Empty In Project Site

If your project site shows nothing in the Project Summary web part, even though you have tasks in your project. Then they might be going into another task list.

Below image shows the task list empty.

There was another list which was being used by a workflow, that was being synced with project task instead.

When I saw in the Connected SharePoint Sites, it was showing incorrect task.

I believe the sync feature looks for task list in ascending order, so in my case ‘Challenge Log WF Tasks’ comes first, hence it syncs with it. So for the workflow tasks, I created a new list with a new name like “Task – Challenges”. Once, all this was done, I saved the template and recreated new project and the tasks were there.

Errors were encountered during the configuration of the Search Service Application

Errors were encountered during the configuration of the Search Service Application

Server Role was set to “Application”, which means the SharePoint Search service was stopped.

Changed the role to “Application with Search” and then tried creating Search Service Application and it worked.

SSRS Labels And Rectangle Position And Size Issue When Rendered

It took some time to understand what was happening. So, thought of writing about it.

The problem is quite frustrating until you understand why it is happening.

When you run the report, you can see the alignments of rectangles and textboxes are not correct. If you see the report in design view, apparently they look aligned.

If you see in the below image, the rectangle inside the another rectangle is of the same size, but by mistake (usually because of dragging controls) there’s some value assigned in Left location. So, what happens when it renders it moves to the right and makes all the alignment incorrect.

suggestion, always place controls by cut copy inside a rectangle and move that rectangle by dragging.

Adding CSS and JavaScript in a Content Editor in SharePoint

There will be many occasions where you will be needing to add CSS and/or Javascript in SharePoint. You can use Content Editor webpart to add custom CSS and/or Javascript. Following steps shows how to add Content Editor for a List item page (new, display and edit) and a web page.

Adding Content Editor to List Page:


Adding Content Editor to Web Page:

document.getElementById(“DeltaPlaceHolderPageTitleInTitleArea”).innerHTML = ‘مركز المشاريع’;

Hiding Links in Project Server

If there is no permission option to disable a feature. Use the following CSS in a Content Editor webpart (click here to know how to add). I’m using the following CSS to hide ‘Select from Existing Assignments’ and ‘Add Personal Task’ in Timesheet. You can use the same CSS for hiding other parts of the page.

/*Following CSS selector uses backslash (\) as id is using periods (.)*/
#Ribbon\.ContextualTabs\.TiedMode\.Home\.Tasks\.AddLine\.Menu\.Add\.AddNewLine-Menu16 {

/* Commented the following three
#Ribbon\.ContextualTabs\.TiedMode\.Home\.Tasks\.AddLine\.Menu\.Add\.CreateNewTask-Menu16 {
#Ribbon\.ContextualTabs\.TiedMode\.Home\.Tasks\.AddLine\.Menu\.Add\.FromCurrentProject-Menu16 {
#Ribbon\.ContextualTabs\.TiedMode\.Home\.Tasks\.AddLine\.Menu\.Add\.FromTeamTasks-Menu16 {

#Ribbon\.ContextualTabs\.TiedMode\.Home\.Tasks\.AddLine\.Menu\.Add\.NewPersonalTask-Menu16 {