Microsoft is aggressively working on making SharePoint better and with release of SharePoint 2016 RTM, many organizations are planning to migrate to cloud or upgrade their On-Premises installation. Recently I have been working on lots of migration related projects (some of them from SharePoint 2003 to 2013 - yes, there are customers out there who are still using SPS 2003 :) One of the client had a single site collection and content database for their Portal and team sites. The content database was about to reach 200 GB and they wanted to split the major sub sites and site collections into individual site collections with its own database. Client hired a third party vendor and they did the job for them. We are not sure what approach was followed to achieve this. However, after the split we saw the following issue.
Issue:
Most or all of the following should be true to make sure that you are facing exactly the same issue.
- sub sites were exported / imported or moved using some third party tool as site collections into their individual database.
- Root site collection (before the split) which hosted the sub sites had publishing feature and infrastructure enabled (site collection scope)
- sub sites (before the split) had publishing feature enabled (web scope)
After the split, when you create a sub site under the site collection and try to active Publishing feature (web scope), you get the following error:
Server Error in '/' Application
Runtime Error
Description: An application error occurred on the server. The current custom settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
When we check the ULS logs, we get the following errors: