{"id":2001,"date":"2011-12-13T06:27:14","date_gmt":"2011-12-13T06:27:14","guid":{"rendered":"https:\/\/poiseddevelopers.com\/reality-tech\/?p=2001"},"modified":"2024-04-12T09:59:35","modified_gmt":"2024-04-12T09:59:35","slug":"migrating-a-full-copy-of-ms-project-server-content","status":"publish","type":"post","link":"https:\/\/poiseddevelopers.com\/reality-tech\/migrating-a-full-copy-of-ms-project-server-content\/","title":{"rendered":"Migrating a full copy of MS-Project Server content"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_65 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/migrating-a-full-copy-of-ms-project-server-content\/#OLAP_Configuration\" title=\"OLAP Configuration\">OLAP Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/migrating-a-full-copy-of-ms-project-server-content\/#Testing\" title=\"Testing\">Testing<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/poiseddevelopers.com\/reality-tech\/migrating-a-full-copy-of-ms-project-server-content\/#Other_areas_to_test\" title=\"Other areas to test\">Other areas to test<\/a><\/li><\/ul><\/nav><\/div>\n<p>There\u2019s a frequent need to refresh MS-Project Server test environments from Production.\u00a0\u00a0The conventional wisdom holds that you need to delete and recreate the SharePoint Web Application (PWA).\u00a0\u00a0 However this requires you to:<\/p>\n<ul>\n<li>Recreate Alternate Access Methods (AAM)<\/li>\n<li>Set quotas<\/li>\n<li>Refine Blocked File Types<\/li>\n<li>Set User Policy<\/li>\n<li>Set Service Application connections\u2026<\/li>\n<\/ul>\n<p>The faster and smoother better way is instead to drop the old PWA content DB, and and reconnect the new PWA Content database.\u00a0Regardless, the very first step should actually be dropping the Project Server Web App.\u00a0 This is done through the Project Server Service Application in Central Administration, Service Applications. Now let\u2019s switch over to the replacement PWA Content DB.\u00a0 This houses both the top level Site Collection, the PWA application Site Collection and all webs under it (mostly each\u00a0are a\u00a0project site):<\/p>\n<pre>Dismount-spcontentdatabase [the old content database we are replacing]\r\nMount-SPContentDatabase -name [the new content database ] -DatabaseServer [your DB server] -WebApplication \"http :\/\/pwa\"  [change as needed]<\/pre>\n<p>However there is one big wrinkle.\u00a0 Doing this seems to leave an orphaned explicit managed path definition in the Web Application that prevents creation of the PWA Site Collection.\u00a0 This appears to be what leads people to simply delete and recreate the Web Application.\u00a0 However the solution is quite simple; remove the orphaned site collection:<\/p>\n<pre>Remove-SPSite -Identity\u00a0 \"htt p:\/\/pwa\/\" [change as needed]<\/pre>\n<p>When recreating the Project Web Application note:<\/p>\n<ul>\n<li>When removing the Project Server Web App, you may wish to uncheck the \u201cRemove Content DB\u201d checkbox<\/li>\n<li>Halting the Timer jobs may be required for the steps above.\u00a0 One advantage of using PowerShell is that it does not depend on the Web App Application Pool to be active<\/li>\n<li>\u00a0\u201cPWA\u201d must be the name of the project web app<\/li>\n<li>Get the database names right, to ensure you connect to the target databases migrated to this environment<\/li>\n<\/ul>\n<p>If your replacement PWA DBs come from an environment with different security, you\u2019ll need to adjust security manually at the database level.\u00a0 I prefer to take screenshots in SQL Studio for comparison before starting.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"OLAP_Configuration\"><\/span>OLAP Configuration<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The OLAP cube inevitably needs to be reconfigured.\u00a0 When refreshing the databases, the OLAP configuration will now mirror the source environment.\u00a0 Make sure you know the name of the OLAP server and database to reset the OLAP configuration.<\/p>\n<p>Delete the Data Connections OLAP folder, as well as the 13 assorted cubes and the folder in which they reside.\u00a0 When rebuilding the cube, these get recreated with reference to the OLAP Server and database.<\/p>\n<p>Lastly, check the cube rebuild frequency and rebuild the cube.\u00a0 You should see a successful OLAP cube build log, the new cubes recreated, and data in the cubes that is visible in the Excel PivotTables stored in the OLAP folder that is as current as the source PWA database.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Testing\"><\/span>Testing<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Check the main navigation links.\u00a0 Any hard-coded navigation links in the source may not get repointed automatically in the newly refreshed environment and could require hand-tuning.<\/p>\n<p>Check that the new Excel OLAP pivots are in a SharePoint\u00a0Excel Services Trusted Location<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Other_areas_to_test\"><\/span>Other areas to test<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol>\n<li>Add-ons<\/li>\n<li>Links<\/li>\n<li>Data (projects, resource pool and associated metadata)<\/li>\n<li>Sites<\/li>\n<li>Views<\/li>\n<li>Configurable fields and Lookup tables<\/li>\n<li>Enterprise Calendar<\/li>\n<li>Security<\/li>\n<li>Ability to access via MSPS client<\/li>\n<li>Scheduled backups<\/li>\n<li>Quick Launch settings in Server Settings<\/li>\n<li>Time\/task management settings<\/li>\n<li>Project Detail pages<\/li>\n<li>Project site templates<\/li>\n<li>Ability to add a Risk, Issue to project sites<\/li>\n<li>OLAP<\/li>\n<li>Reports<\/li>\n<\/ol>\n<p>When you\u2019ve done a refresh once, you are golden!\u00a0 I like to say \u201conly in technology can you do something once, then be considered an \u2018expert&#8217;\u201d!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There\u2019s a frequent need to refresh MS-Project Server test environments from Production.\u00a0\u00a0The conventional wisdom holds that you need to delete and recreate the SharePoint Web Application (PWA).\u00a0\u00a0 However this requires you to: Recreate Alternate Access Methods (AAM) Set quotas Refine Blocked File Types Set User Policy Set Service Application connections\u2026 The faster and smoother better [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2005,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[52],"tags":[],"class_list":["post-2001","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-project-server-and-web-access"],"acf":[],"_links":{"self":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/2001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/comments?post=2001"}],"version-history":[{"count":1,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/2001\/revisions"}],"predecessor-version":[{"id":2006,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/posts\/2001\/revisions\/2006"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media\/2005"}],"wp:attachment":[{"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/media?parent=2001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/categories?post=2001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/poiseddevelopers.com\/reality-tech\/wp-json\/wp\/v2\/tags?post=2001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}