{"id":11532,"date":"2014-02-24T15:10:00","date_gmt":"2014-02-24T15:10:00","guid":{"rendered":"https:\/\/viewmyprojects.com\/winwirewp\/?p=11532"},"modified":"2025-07-07T09:02:06","modified_gmt":"2025-07-07T09:02:06","slug":"moss-2007-to-sharepoint-2013-migration-using-database-attach-method","status":"publish","type":"post","link":"https:\/\/viewmyprojects.com\/winwirewp\/blog\/moss-2007-to-sharepoint-2013-migration-using-database-attach-method\/","title":{"rendered":"MOSS 2007 to SharePoint 2013: Migration using Database Attach Method"},"content":{"rendered":"\n<p>In one of my projects, I got a chance to work on the migration where we have migrated contents from MOSS 2007 to SharePoint 2013 environment with the huge content of about 40+ databases and 11000+ sites. We had decided to start the upgrade process using the database attach method as this is the only supported method for upgrading from MOSS 2007 to SharePoint 2013 without much of complications.<\/p>\n\n\n\n<p>Let me tell you, we cannot upgrade the content directly from MOSS 2007 release to SharePoint 2013. The changes between versions are too great, and the hardware requirements differ so much between versions that a direct upgrade is not possible or supported. However, we can perform a series of database-attach upgrades to first upgrade our content to SharePoint 2010 Products and then to SharePoint 2013. The upgrade method is almost similar from MOSS 2007 to SharePoint 2010 and then from SharePoint 2010 to SharePoint 2013.<\/p>\n\n\n\n<p>This blog describes how to perform these sequential database-attach upgrades from MOSS 2007 to SharePoint 2010 and then to SharePoint 2013.<\/p>\n\n\n\n<p><strong>Run preupgradecheck in MOSS 2007 Server<\/strong><br>Preupgradecheck will provide us the invaluable information regarding the SharePoint 2007 farm and actions that may be required to be taken prior to upgrading to SharePoint 2010\/SharePoint 2013<br>Run the preupgradecheck as below in command prompt:<br>stsadm.exe -o preupgradecheck<\/p>\n\n\n\n<p>Once you get \u201cOperation completed successfully\u201d, it will launch the \u201cSharePoint Products and Technologies Pre-Upgrade Check Report\u201d. It can also be located under the following location;<br>%COMMONPROGRAMFILES%\\Microsoft Shared\\Web Server Extensions\\12\\Logs\\<\/p>\n\n\n\n<p class=\"blog-detail-list\">Analyze the report and Fix the following settings:<br>\u2022 Identify any third party components used and deploy them to SharePoint 2010 and SharePoint 2013 site. E.g. Nintex, 3rd party features, including web parts, solutions and custom workflows<br>\u2022 Setup Incoming\/Outgoing email settings in SharePoint 2010 and SharePoint 2013environment<br>\u2022 Modified Web.Config entries<br>\u2022 Configure Alternate Access Mappings (AAM)<br>\u2022 Find the missing webpart, event receivers or features if any and delete them<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Take the Content Database Backup from MOSS 2007<\/strong><br>Set the databases to read-only before taking backups.<br>\u2022 On the MOSS 2007\u2019s database server, click Start, point to All Programs, Microsoft SQL Server, and then click SQL Server Management Studio.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"221\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/SQL-Server-Management-Studio.webp\" alt=\"\" class=\"wp-image-18105\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/SQL-Server-Management-Studio.webp 643w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/SQL-Server-Management-Studio-300x103.webp 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure>\n\n\n\n<p class=\"blog-detail-list\">\u2022 Traverse to Databases node by expanding the tree<br>\u2022 Right-click the name of the database that you want to set to read-only, and then click Properties.<br>\u2022 In the Properties dialog box, click the Options tab.<br>\u2022 Under State, select the Database Read-only to True, and then click OK<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Backup the database:<\/strong><br>Follow these steps to take back-up:<br>\u2022 Traverse to Databases node by expanding the tree.<br>\u2022 Right-click the database you want to back up, point to Tasks, and then click Backup Database<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"462\" height=\"213\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Backup-Database.webp\" alt=\"\" class=\"wp-image-18107\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Backup-Database.webp 462w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Backup-Database-300x138.webp 300w\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" \/><\/figure>\n\n\n\n<p class=\"blog-detail-list\">\u2022 In the SQL Server Backup dialog box, specify a name for the backup, select Back-up type \u2013 Full, select a destination, and then Click OK to start the backup process.<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Restore the Backup on SharePoint 2010 SQL server<\/strong><br>\u2022 Open the SQL Server Management studio, traverse to \u201cDatabases\u201d node. Then right click the \u201cDatabases\u201d node and choose \u201cRestore Database\u2026\u201d from the context menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"203\" src=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Restore-Database.webp\" alt=\"\" class=\"wp-image-18108\" srcset=\"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Restore-Database.webp 553w, https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/Restore-Database-300x110.webp 300w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/figure>\n\n\n\n<p class=\"blog-detail-list\">\u2022 Specify the Database name, Restore Source, Destination, File names in the screens.<br>\u2022 Click \u201cOK\u201d to start the restore operation and Wait for the restore to complete! The time of restoring database depends upon the database size and server\u2019s capacity.<br>\u2022 Make the Read-Only database to false after restore<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Create web application in SharePoint 2010<\/strong><br>\u2022 In the SharePoint Central Administration, click on \u201cApplication Management\u201d and click on \u201cCreate or extend Web application\u201d under \u201cSharePoint Web Application Management\u201d.<br>\u2022 Again click on \u201cCreate Web application\u201d. Set the settings according to the need.<br>\u2022 Don\u2019t create any site collection.<br>\u2022 Install &amp; Copy the solutions, file system changes (like images, themes) from MOSS 2007 to SharePoint 2010 server.<\/p>\n\n\n\n<p><strong>Remove content database of the newly created web application in SharePoint 2010<\/strong><\/p>\n\n\n\n<p>Now, we need to delete the content db of the newly created web application in order to avoid any URL conflicts. Run the below stsadm command:<br>stsadm -o deletecontentdb -url &lt;http:\/\/url&gt; -databasename &lt;MOSS2007_Migration_Content&gt;<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Attach restored database with the newly created web application in SharePoint 2010<\/strong><br>\u2022 Test the content database: Before attaching the content databases to the Web applications, use the Test-SPContentDatabase PowerShell cmdlet to verify that all of the custom components that you need for that database. It checks for all artifacts such as feature, setup files, web parts etc. that are referred in the content database are installed in the farm and provide you with a report.<br>\u2022 Test-SPContentDatabase -Name &lt;DatabaseName&gt; -WebApplication &lt;URL&gt;<br>\u2022 Delete the corrupted objects<br>\u2022 stsadm -o databaserepair -url &lt;URL of SharePoint site&gt; -databasename &lt;name of database&gt; -deletecorruption<br>\u2022 Attach the Content DB to Webapplication<br>\u2022 Finally, we need to attach the restored MOSS 2007 database to SharePoint 2010 by running the STSADM command<br>o The Content DB containing the root site collection is always applied first.<br>o The other content DBs can be applied in any order. Attach the Content DB of the Root Site collection First. And then Attach the Content DBs of other Site Collections.<br>stsadm.exe -o addcontentdb -url &lt;URL of SharePoint site&gt; -databasename &lt;MOSS2007_Portal_Content&gt;<\/p>\n\n\n\n<p class=\"blog-detail-list\">\u2022 Or you can use the PowerShell cmd-let: Mount-SPContentDatabase<br>Mount-SPContentDatabase -Name &lt;DatabaseName&gt; \u2013 databaseServer &lt;ServerName&gt; -WebApplicationURL<\/p>\n\n\n\n<p><strong>Migrate from Classic Mode to Claims mode<\/strong><br>SharePoint 2013 authentication mode is by default Claims mode, so during migration from any previous versions, make sure to migrate authentication from Classic to Claims mode. If the authentication type is Claims already, then ignore this step.<\/p>\n\n\n\n<p>Refer this Tech-net guide on how to migrate to claims \u2013 http:\/\/technet.microsoft.com\/en-us\/library\/gg251985.aspx<\/p>\n\n\n\n<p class=\"blog-detail-list\"><strong>Post Migration fixes<\/strong><br>Once the content database attachment process is over, we have to manually fix the below things:<br>\u2022 Migrate any List\/Site stp\u2019s present from previous version to next version<br>\u2022 Migrate InfoPath forms and change the url \u2019s to the new url and then publish forms<br>\u2022 Perform the Visual upgrade to get the look and feel of the next version<br>o Following are the commands used in PowerShell to do visual upgrade<br>o SharePoint 2010 visual upgrade using PowerShell<\/p>\n\n\n\n<p>\/\/Use this for entire webapplication<br>$w = get-spweb http:\/\/server\/site<br>$w.webs | ForEach-Object {$_.UIversion = 4; $_.UIVersionConfigurationEnabled = $false; $_.update()}<\/p>\n\n\n\n<p>\/\/Use this for individual site<br>$web = Get-SPWeb http:\/\/server\/site<br>$web.UIVersion = 4<br>$web.UIVersionConfigurationEnabled = 0<br>$web.Update()<br>SharePoint 2013 visual upgrade using PowerShell<br>Upgrade-SPSite \u201chttp:\/\/server\/site\u201d \u2013VersionUpgrade<\/p>\n\n\n\n<p>Similarly to migrate content from SharePoint 2010 to SharePoint 2013, follow the steps from 1 \u2013 8. Once all the operations are done, browse the migrated site and check the functionality.<\/p>\n\n\n\n<p>References:<\/p>\n\n\n\n<p><a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/ee947141(v=office.15)\" target=\"_blank\" rel=\"noopener\">http:\/\/technet.microsoft.com\/en-us\/library\/ee947141(v=office.15)<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/www.sharepointdiary.com\/2013\/09\/migrate-from-sharepoint-2010-to-2013-step-by-step.html\" target=\"_blank\" rel=\"noopener\">http:\/\/www.sharepointdiary.com\/2013\/09\/migrate-from-sharepoint-2010-to-2013-step-by-step.html<\/a><\/p>\n\n\n\n<p><a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc262967.aspx\" target=\"_blank\" rel=\"noopener\">http:\/\/technet.microsoft.com\/en-us\/library\/cc262967.aspx<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In one of my projects, I got a chance to work on the migration where we have migrated contents from MOSS 2007 to SharePoint 2013 environment with the huge content of about 40+ databases and 11000+ sites. We had decided to start the upgrade process using the database attach method as this is the only&hellip; <a class=\"more-link\" href=\"https:\/\/viewmyprojects.com\/winwirewp\/blog\/moss-2007-to-sharepoint-2013-migration-using-database-attach-method\/\">Continue reading <span class=\"screen-reader-text\">MOSS 2007 to SharePoint 2013: Migration using Database Attach Method<\/span><\/a><\/p>\n","protected":false},"author":49,"featured_media":16760,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_eb_attr":"","_uag_custom_page_level_css":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-11532","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","entry"],"acf":[],"featured_image_src":"https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp","author_info":{"display_name":"Pankaja","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/pankaja\/"},"views":4391,"uagb_featured_image_src":{"full":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp",800,440,false],"thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007-150x150.webp",150,150,true],"medium":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007-300x165.webp",300,165,true],"medium_large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007-768x422.webp",750,412,true],"large":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp",750,413,false],"1536x1536":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp",800,440,false],"2048x2048":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp",800,440,false],"post-thumbnail":["https:\/\/viewmyprojects.com\/winwirewp\/wp-content\/uploads\/2023\/11\/MOSS-2007.webp",800,440,false]},"uagb_author_info":{"display_name":"Pankaja","author_link":"https:\/\/viewmyprojects.com\/winwirewp\/author\/pankaja\/"},"uagb_comment_info":0,"uagb_excerpt":"In one of my projects, I got a chance to work on the migration where we have migrated contents from MOSS 2007 to SharePoint 2013 environment with the huge content of about 40+ databases and 11000+ sites. We had decided to start the upgrade process using the database attach method as this is the only&hellip;&hellip;","_links":{"self":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/11532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/comments?post=11532"}],"version-history":[{"count":4,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/11532\/revisions"}],"predecessor-version":[{"id":23641,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/posts\/11532\/revisions\/23641"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media\/16760"}],"wp:attachment":[{"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/media?parent=11532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/categories?post=11532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/viewmyprojects.com\/winwirewp\/wp-json\/wp\/v2\/tags?post=11532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}