Environment Migration for Microsoft Office Project Portfolio Server 2007
Best Practice Guide
Microsoft Office Project Portfolio Server 2007
______

Environment Migration for Microsoft Office Project Portfolio Server 2007

Applies To:

Microsoft Office Project Portfolio Server 2007

Summary:

This guide describes how to migrate Microsoft Office Project Portfolio Server 2007 from one environment to another one. This scenario is frequently used to duplicate a production environment as a QA or Development environment.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.

Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give anyone any license to these patents, trademarks, copyrights, or other intellectual property.

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.

© 2007 Microsoft Corporation. All rights reserved.

Microsoft, ActiveX, Excel, Internet Explorer, SharePoint, Visual Basic, Windows Server, Windows Vista, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Contents

Introduction

Overview

Office Project Portfolio Server 2007 Architecture Overview

Office Project Portfolio Server 2007 Deployment Overview

Office Project Server 2007

Windows SharePoint Services 3.0

Migration Overview

Migration Process

Step 1 – Copy over the databases

Step 2 – Update the SharePoint security information

Step 3 – Migrate the Reports

Step 4 – Update environment-specific configuration

Appendix

References

Microsoft Office Project Portfolio Server 2007 Builder –Environment Migration1

©Copyright 2006 Microsoft Corporation

Appendix

chapter

1

Introduction

Overview

This guide describes how to migrate an existing environment of Microsoft® Office Project Portfolio Server 2007 to a separate environment. This scenario often happens when an existing environment has to be duplicated to a separate QA or Development environment. This will also happen when an environment has to be scaled up or out to accommodate more users.

This document describes the migration process for a distributed server farm environment and for a stand-alone environment.

Office Project Portfolio Server 2007 Architecture Overview

Office Project Portfolio Server 2007 is composed of three main components:

Office Project Portfolio Server 2007 application tier comprised of the following components:

Office Project Portfolio Server 2007 application: This Web-based application runs on Internet Information Services (IIS) and Microsoft ASP.NET 2.0. Some of the components are developed in C and C++.

Project Portfolio Server Scheduler: This service runs at regular intervals to recalculate certain defined attributes.

Office Project Portfolio Server 2007 database tier (SQL Server 2005 Service Pack 1 (SP1)), including the following Office Project Portfolio Server 2007 databases:

PPSAccountIndex: This database contains information about the defined accounts in Office Project Portfolio Server 2007. Each account acts like a single instance of Office Project Portfolio Server 2007. Information cannot be shared across multiple accounts.

PPSAccountData: This database contains the actual account data, such as the project, application, program and portfolio data, related cost and resource information, optimization scenarios, and other data. Even though this database can contain information from multiple accounts, we recommend having only one account per database to ease future upgrades or database migrations.

Office Project Portfolio Server 2007 reporting tier (SQL Server Reporting Services) includes two binary files and some configuration adjustments to a default SQL Server Reporting Services installation.

Office Project Portfolio Server 2007 Deployment Overview

A complete installation of Office Project Portfolio Server 2007 includes the three tiers previously described and requires:

  • SQL Server 2005 SP1
  • SQL Server Reporting Services
  • Office Project Portfolio Server 2007

Each of these components can be installed on the same computer or on separate computers.

Furthermore, Office Project Portfolio Server 2007 can be linked to:

  • Office Project Server 2007
  • Windows SharePoint Services 3.0

Office Project Server 2007

The (optional) bidirectional gateway between Office Project Portfolio Server 2007 and Office Project Server 2007 can not only help organizations create the project inventory and select the optimal portfolio of projects, but can also help deliver projects on time and within scope and budget. A project’s resources, activities, or plan can be managed on a detailed level in Office Project Server 2007, while rolledup information in Office Project Portfolio Server 2007 enables portfolio reporting, analysis, and tracking.

Windows SharePoint Services 3.0

Windows SharePoint Services 3.0 can be used for document management. For each entity (project, application, program, or portfolio), attachments can be uploaded to different sites defined in Windows SharePoint Services 3.0. These attachments can be viewed through Office Project Portfolio Server 2007 or through Windows SharePoint Services 3.0 directly.

MigrationOverview

Microsoft Office Project Portfolio Server 2007 is a Web application that stores its data (user and system) in a set of two databases at a minimum. There is always one Index database and at least one Data database. There may be more than one Data database because it is recommended to use a separate Data database for each Account.

The connection information required to connect to SQL Server and SQL Server Reporting Services is stored in a Web.config file located in the installation folder of the application tier.

Because Microsoft Office Project Portfolio Server 2007 may also integrate with Windows SharePoint Services 3.0 for the management of documents and portfolio and/or projects’ artifacts, it is also important to plan the migration of a Windows SharePoint Services 3.0 site collection if the sites containing the documents are also to be duplicated.

The migration process assumes that both the source environment and the target environment have Microsoft Office Project Portfolio Server 2007 deployed with the same version and level of patching, and that all its components are in operating order.

Here is ahigh-level overview of the necessary steps to performa complete migration:

Step 1

The main part of the migration will be to copy over the Project Portfolio Server database storing the account data and configuration.

Step 2

In thesecond step, an automated tool from the Project Portfolio Server SDK toolkit can be used to update environment-specific information related to Windows SharePoint Services security settings.

Step 3

In thethird step, the Project Portfolio Server Scheduler reports previously configured and saved will have to be migrated to the new reporting server.

Step 4

In thefourth step, any environment-specific configuration settings should be revisited to update to the correct new environment. These settings typically include defined computers running Project Server and computers running Windows SharePoint Services.

Step 5

In the last step, all application functionality should be tested.

chapter

2

Migration Process

Step 1 – Copy over the databases

  1. Backup the Project Portfolio Server 2007 databases on the source environment

The Index and Account Data databases must be backed up by using SQL Server Management Studio database backup feature. Since each Account Data database is specific to a Project Portfolio Server Account, there may be more than one Account Data database to backup if more than one account is defined in the Account Index database.

  1. Restore the Project Portfolio Server 2007 databases in the target environment

The Index and Account Data databases must be restored by using the SQL Management Studio database backup utility. Since each Account Data database is specific to a Project Portfolio Server Account, there may be more than one Account Data database to restore if more than one account is defined in the Account Index database.

Note that if you rename the databases during the restore process, you will need to update entries in the PPSAccountIndex database, and in the Web.config file (see below).

  1. Edit the Web.config file on the application tier server

If you renamed the index database, make sure the Web.config file points to a valid Portfolio Server Index database. See the following example:

<add key="Template.ConnectionString" value="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sqluser;Password=sqlpass;Initial Catalog=[DBNAME];Data Source=mydatabaseserver;Workstation ID=workid;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"/>

<add key="PPSAccountIndex.ConnectionString" value="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sqluser;Password=sqlpass;Initial Catalog=PPSAccountIndex;Data Source= mydatabaseserver;Workstation ID=workid;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"/>

Web.config file points to a valid Portfolio Server Index database

If you had modified the Web.config file to log on to a default account, make sure that the account ID is still valid after migration. See the following example:

<!-- Account Settings -->

<!-- Uncomment following line to skip the account login and only require user login. Ensure the ID value is correct -->

<add key="AccountID" value="104" />

<!-- End Account Settings -->

Web.config file points to a default account

  1. Verify the database security permissions

There are twoprocesses accessing the databases. Both the application tier of Project Portfolio Server 2007 and the Project Portfolio Server Scheduler service need access to the databases.

If SQL Authentication is used in the Web.config file (see in the application installation directory), as defined during the installation of Project Portfolio Server 2007, ensure that the selected account has db_datareader and db_datawriter access to all AccountIndex and AccountData databases in the new environment. This would be ‘sqluser’ in the example below.

<add key="Template.ConnectionString" value="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sqluser;Password=sqlpass;Initial Catalog=[DBNAME];Data Source=mydatabaseserver;Workstation ID=workid;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"/>

<add key="PPSAccountIndex.ConnectionString" value="Provider=SQLOLEDB.1;Persist Security Info=True;User ID=sqluser;Password=sqlpass;Initial Catalog=PPSAccountIndex;Data Source= mydatabaseserver;Workstation ID=workid;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096"/>

Web.config file with SQL Authentication

Note that if you renamed the index database, you will need to update the section in the Web.config file with the new name of the index database (see above).

If Integrated Windows Authentication is selected for Project Portfolio Server 2007 in the Web.config file, verify that both the application pool identity account and the Project Portfolio Server Scheduler service account have db_datareader and db_datawriter access to the databases.

<add key="Template.ConnectionString" value="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=[DBNAME];Data Source=mydatabaseserver;" />

<add key="PPSAccountIndex.ConnectionString" value="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=PPSAccountIndex;Data Source= mydatabaseserver;" />

Web.config file with Integrated Windows authentication

Note that if you renamed the index database, you will need to update the section in the Web.config file with the new name of the index database (see above).

Verify that the application pool identity account (Network Service by default) has db_datareader and db_datawriter permission on the AccountIndex and AccountData database.

This is by default the ‘Network Service’, but it might be altered after the installation of Project Portfolio Server.

Also ensure that the Project Portfolio Server Scheduler service logon account has the above permissions.

  1. Change the PPSAccountData database names in the PPSAccountIndex database if needed

If you renamed the databases during the restore, ensure that the Web.config file points to the new Index database (see above). If you renamed the account data database as well, make sure after migration that the index database points to the correct account database(s). The account database(s) should match the names used during the restore database process.

  1. Open SQL Server Management Studio. Connect to the Portfolio Server 2007 SQL Server.
  2. Navigate to the Index database.
  3. Open the ‘Tables’ node, right-click the ‘sfACCOUNTS’ table, and choose the ‘Open Table’ option.

Look at the ‘DataDBName’ column. Make sure it points to the correct Account databases (that have been recently restored).

Step 2 – Update the Windows SharePoint Services security information

1.Backup the Credential Encryption Key on the source environment

If you are using Windows SharePoint Servicesintegrated with Portfolio Server 2007, it is a best practice to use the ‘Portfolio Server Config utility’ to take a backup of the SharePoint Credential Encryption Key. You need to take the backup after you have created at least one Portfolio Server user who has entered his/her server credentials for Windows SharePoint Services via Portfolio Server Web Access.

If you do not have a server running Windows SharePoint Services linked to your Project Portfolio Server in this instance, you can skip this section.

The ‘Portfolio Server Config utility’ is fully documented in the Project Portfolio Server 2007 Document: Programmer Reference.

The server credentials for Windows SharePoint Services are stored in the Portfolio Server database, encrypted using a strong encryption key — which is based on the Portfolio Server machine. So, if at some point you want to move Portfolio Server from one machine to another or if the Portfolio Server machine crashesirrecoverably — you will need the encryption key backup so that you can use the ‘Configuration utility’ to re-encrypt the passwords. Without the encryption key backup, every user has to re-enter their Windows SharePoint Services credentials again.

This section covers how you can take a backup of the encryption key, and how you can restore it.

Note that this tool needs to be run for EACH account for whichyou want the credential keys to be backed up/restored.

Step by step instructions on how to take a backup of the encryption key:

  1. Copy PPSConfig.exe to the computer that has Portfolio Server 2007 installed.
  2. Find the location of Portfolio Server 2007 Web files:
  3. On the source Portfolio Server 2007 computer, click ‘Start’, choose ‘Run’, type INETMGR, and then press‘Enter’.
  4. In the ‘Internet Information Services’ window, navigate to the ‘Portfolio Server’ virtual directory.
  5. Right-click the ‘Portfolio Server’ virtual directory, choose ‘Properties’ and see the physical directory where the Web files are located.
  6. Open a Command Prompt window. Navigate to the folder containing ‘PPSConfig.exe’.
  7. Type PPSConfig.exe MIGRATEKEY to see the various options. You will see a promptsimilar to the one below:

Microsoft Project Portfolio Server 2007 Configuration Utility

======

Migrate Key job accepts the following parameters

-a AccountID - the ID of the account to act on

-s file - filename where to save the encryption key

-r file - filename from where to restore the encryption key

-c dir - the path where Microsoft Project Portfolio Server 2007 web files are installed

You should run the application as follows:

PPSConfig.exe migratekey -a ID <-s|-r> file -c dir

  1. Run PPSConfig.exe migratekey –a <ID> -s <the full path to the file where the key has to be saved> -c <path where the Portfolio Server 2007 Web files are installed>

Example:

ppsconfig.exe migratekey –a 1 -s “c:\backup\ortfolioServer2007EncryptionKey.Backup” –c “c:\inetpub\wwwroot\portfolioserver”

  1. Copy the encryption key backup to a secure location. If you don’t do this and the Portfolio Server machine crashes irrecoverably, you can’t recover the passwords anyway.

2.Backup the SharePoint sites on the source environment

If the SharePoint sites where the Project Portfolio Server 2007 documents are stored are also required to be migrated, a backup of the site collection, where the sites are created, must be run. This operation may be done by using the STSADM.EXE utility.

3.Restore or reset the Credential Encryption Key on the target environment

If a backup of the Credential Encryption Key from the source environment is available, then Method 1, described below, is recommended.

If the backup of the Credential Encryption Key is either unavailable or cannot be restored, then Method 2 should be followed.

a. Method 1: Restore the Credential Encryption Key on the target environment

Step by step instructions on how to restore the encryption key: