I've been playing around with the upgrade process from MOSS 2007 to MSS 2010,
just to familiarize myself with the process, and I discovered something that
anyone else interested in upgrade would find useful to know.
One of the earliest steps, as many of you know, is to run PreUpgradeCheck, added
to the set of STSADM operations with 2007 Service Pack 2. PreUpgradeCheck
examines the farm for many things, one of which is altered database schemas. As
everyone on this list should know, changing the database schema for SharePoint
DBs is a strict no-no. But for the first time, the upgrade path from 2007 to
2010 will actually fail if changes have been made.
I've known since my early days of working with SP2003 that touching the database
was verboten, so I was very surprised to see that, when I ran PreUpgradeCheck on
my own farm, that this portion of the screening process failed. Upon looking
through the log files (see 12Hive\Logs\PreUpgradeCheck-YYYYMMDD-#####-####.log
and search for "InvalidDatabaseSchema" for more details), I saw the following:
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[CatBucketInfo] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]: [MyContentDB_site].[CatDef]
EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]: [MyContentDB_site].[CatGroup]
EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]: [MyContentDB_site].[CatJoint]
EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[CatKeyword] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[CatOrgleList] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]: [MyContentDB_site].[CatPath]
EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[CatPredefined] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[PortalPerm] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[PortalPermDelta] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[PortalPermInfo] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[PortalProperties] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[PortalSchemaVersion] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[SearchScopeEntities] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]:
[MyContentDB_site].[SearchScopes] EXTRA Table
[DatabaseSchema] [ERROR] [12/15/2009 11:19:25 AM]: [MyContentDB_site].[Slots]
EXTRA Table
What is unique about this particular content DB was that it was originally
created in SPS 2003 and later upgraded via a content DB attach to MOSS 2007. So
I compared this database schema to some other examples that I've worked with of
the following:
* Existing SPS 2003 content databases
* Other content databases upgraded from SPS 2003 to MOSS 2007
* Content databases created by MOSS 2007
Sure enough, I found that the offending tables existed in the first two
categories (those created by SPS 2003), but not in the last category. It seems
that the upgrade process from 2003 to 2007 simply didn't completely clean up the
older tables.
Microsoft may already be aware of this, and perhaps they will correct it as they
go from beta to RTM, or with a hot fix to Service Pack 2. But for now, my
resolution is to (YIKES) delete the old tables from my content DBs and try
again.