Recently I was engaged by my colleague to assist him in upgrading an aging Sharepoint 2003 installation to Sharepoint 2010. Since the full blown Sharepoint Portal Server 2003 was still in use there was no direct upgrade path, but I had to deploy temporary MOSS 2007 farm first to upgrade database from Sharepoint 2003 to 2007 version. After this step I could upgrade to Sharepoint 2010.
I've run the pre-scan tool on Sharepoint 2003 which did gave me some trouble saying that the site I was trying to scan is not extended with WSS v2 and that I should extend it first. I've fixed this problem with running a stsadm -o upgrade which, I guess, wrote a new database version in the portal content database because the process took only a couple of second. After that the pre-scan run without any errors.
Now, onto the problem...
I've created a new web application on MOSS 2007 and used the following command on the MOSS 2007 box:
stadm -o attachdb -url http://sps -databasename SPSERVER_SITE -databaseserver -SQLSERVER
This returned an error and the database was not attached to the web application.
Upgrade completed with errors. Review the upgrade.log file located in C:\Progra
m Files\Common Files\Microsoft Shared\Web Server Extensions\12\Logs\Upgrade.log.
The number of errors and warnings is listed at the end of the upgrade log file
After examining the log files I've found this:
[DropFullTextSearch] [188.8.131.52] [DEBUG] [9/6/2011 8:23:35 PM]: Begin Rollback()
[DropFullTextSearch] [184.108.40.206] [DEBUG] [9/6/2011 8:23:35 PM]: End Rollback()
[DropFullTextSearch] [220.127.116.11] [DEBUG] [9/6/2011 8:23:35 PM]: Begin Dispose()
[DropFullTextSearch] [18.104.22.168] [DEBUG] [9/6/2011 8:23:35 PM]: End Dispose()
[DropFullTextSearch] [22.214.171.124] [DEBUG] [9/6/2011 8:23:35 PM]: Elapsed time: 00:00:00.1405800.
[SPManager] [ERROR] [9/6/2011 8:23:35 PM]: Upgrade [SPContentDatabase Name=SPSERVER_SITE2007 Parent=SPDatabaseServiceInstance] failed.
[SPManager] [ERROR] [9/6/2011 8:23:35 PM]: Full-text crawl manager has not been initialized. Any crawl started before the crawl manager was fully initialized will need to be restarted. Please restart SQL Server and retry the command. You should also check the error log to fix any failures that might have caused the crawl manager to fail.
[SPManager] [ERROR] [9/6/2011 8:23:35 PM]: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at Microsoft.SharePoint.Utilities.SqlSession.ExecuteNonQuery(SqlCommand command)
at Microsoft.SharePoint.Upgrade.SPDatabaseSequence.ExecuteDataDefinitionMethodCore(SqlSession sqlSession, ISqlSession isqlSession, String sqlscript, SPSqlCommandFactory sqlcmdFactory, String strTables, Int32 nThroughputs, SPLog logGlobal)
at Microsoft.SharePoint.Upgrade.SPDatabaseWssAction.ExecuteDataDefinitionMethod(SqlSession sqlSession, String sqlscript)
It then occurred to me that back in the old days Sharepoint was using SQL full text search catalogs for its search feature, but just for WSS v2 search feature if memory serves me correctly.
When I installed the new SQL 2008 R2 I did not check the Full-Text Search component because the MOSS 2007 and Sharepoint 2010 are not using SQL Full-Text Search anymore. But it seems that for upgrade purposes the Full-Text Search component is required because the upgrade process tried to drop the existing full text catalog.
At this moment I've also reviewed the logs when I restored the Sharepoint 2003 database from SQL 2000 to SQL 2008 R2 and found this:
Log Name: Application
Date: 6.9.2011. 20:15:13
Event ID: 3633
Task Category: Server
The operating system returned the error '3(failed to retrieve text for this error. Reason: 15100)' while attempting 'ClearTree' on 'FullTextDefaultPath\ix_SPSERVER_SITE' at 'fulltext.cpp'(1816).
The solution was to simply install the Full-Text Search component on the new SQL Server 2008 R2 and run the database attach process again.