When it comes to Microsoft SharePoint deployments, the database schema is the core of all the platform’s functionalities. Keeping the schema clean is vital to SharePoint, especially before applying cumulative updates, service packs, or upgrades.
When SharePoint 2010 first came to market and many were performing the upgrade from Microsoft Office SharePoint Server (MOSS) 2007 to the latest platform release, Microsoft had a tool to verify whether or not the SharePoint database schema was safe for the upgrade. Why was this necessary? There were – and still are today – some third-party vendors in the SharePoint ISV community that embed their products directly in SharePoint, which can alter the SharePoint database schema and make it unsafe for upgrade.
Furthermore, if you do run into trouble and the database schema has been changed – it falls outside of Microsoft’s scope of support. According to TechNet, “Application of any schema change to the SharePoint database, except as part of a Microsoft-supplied service pack or hot fix, will make the SharePoint environment unsupportable. This type of change should never be applied.” While that first came out in MOSS 2007, this is still true today.
Unfortunately, this tool is no longer available for organizations looking to upgrade to SharePoint 2013. This makes life difficult for SharePoint administrators to verify that the SharePoint database schema is clean, and by extension, ensure a successful upgrade. Following are some easy steps to give SharePoint administrators their peace of mind:
1. Find a database schema compare tool. For illustration purposes, we’ll use a free one from CodePlex.
2. Create a clean reference SharePoint database that you can compare the database you wish to test.
3. Run the database schema compare tool against the database in question vs. the reference database. Schema differences will be highlighted. In the tool we are using here, items marked as blue are modifications, and red ones are new schema elements.
If your database schema is clean, there should be nothing highlighted. But if you do find the database schema was changed by third-party applications, it’s best that you disable or uninstall the application to keep your database schema clean.
As an example, the following is a screenshot of how the compare result should look: