MOSS2007备份还原后搜索服务出现的问题
从开发环境备份还原到客户的生产环境,但是还原后,发现搜索服务出现问题,
症状如下
进入MOSS站点的SSP的管理站点,点击“搜索配置”,提示:
搜索服务当前处于脱机状态。请访问 SharePoint 管理中心中的“服务器上的服务”页,以验证是否启用了该服务。这也可能是由于正在移动索引器所致。
但我进入SharePoint3.0管理中心,“操作”下“服务器上的服务”,Office SharePoint Server 搜索 和 Windows SharePoint Services 搜索 两个服务状态都是“已启动”的
使用stsadm -o osearch -action list 命令结果为
服务器场联系人电子邮件: administrator@mydomain.local
服务器场服务帐户: mydomain\administrator
服务器场性能级别: PartlyReduced
*dcbakserver:
状态: Online
角色: IndexQuery
说明搜索服务确实是启动并且在线的。
Windows事件日志中有大量错误提示:
1、Microsoft.Office.Server.Search.Administration.SearchService 的应用程序同步失败。
原因: 未将对象引用设置到对象的实例。
技术支持详细信息:
System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Microsoft.Office.Server.Search.Administration.Deployment.BringUpgradedSearchDbOnlineIf(SharedDatabase searchDatabase)
在 Microsoft.Office.Server.Search.Administration.SearchSharedApplication.SynchronizeDatabase()
在 Microsoft.Office.Server.Search.Administration.SearchSharedApplication.Synchronize()
在 Microsoft.Office.Server.Administration.SharedResourceProvider.SynchronizeApplications(SharedComponentSecurity sharedApplicationSecurity)
2、服务实例 Microsoft.Office.Server.Search.Administration.SearchServiceInstance (35960467-be98-4cef-94c0-4dcf5773ac52)的应用程序服务器管理作业失败。
原因: 未将对象引用设置到对象的实例。
我去网上搜索了,没有结果,倒是发现MOSS迁移后搜索出现问题是个普遍现象。
查看还原日志,发现日志中有错误提示:
[2007/5/29 16:49:36]: Error: 对象 共享搜索索引 的 OnRestore 事件失败。有关详细信息,请参阅备份目录中的错误日志。
InvalidOperationException: 必须安装并启用新的索引器
[2007/5/29 16:49:36]: Debug: 在 Microsoft.Office.Server.Search.Administration.SearchSharedApplication.Microsoft.SharePoint.Administration.Backup.IBackupRestore.OnRestore(Object sender, SPRestoreInformation a
rgs)
但是我不知道如何独立安装并启用新的索引器。
偿试过这些方法,但都没有效果
1、修复MOSS
2、执行命令
stsadm -o osearch -action stop
stsadm -o osearch -action start -role indexquery
net stop SPTimerV3
net start SPTimerV3
重启服务器
3、新建一个SSP,新建的SSP也有这个问题
MOSS的日志中发现以下错误:
10/19/2007 16:26:06.29 OWSTIMER.EXE (0x0C10) 0x15AC Search Server Common
MS Search Administration 7pgh High
Unable to find application 'e780e121-e770-47ab-a06c-94dc7de2b169'
10/19/2007 16:26:06.29 OWSTIMER.EXE (0x0C10) 0x15AC SharePoint Portal Server
User Profiles 62p4 Exception
Microsoft.Office.Server.Search.Administration.DeletedConcurrencyException: 找不到对象 e780e121-e770-47ab-a06c-94dc7de2b169。
---> System.Collections.Generic.KeyNotFoundException: 找不到对象 e780e121-e770-47ab-a06c-94dc7de2b169。
在 Microsoft.Office.Server.Search.Administration.SearchApi.get_App()
在 Microsoft.Office.Server.Search.Administration.SearchApi.GetProject(WellKnownSearchCatalogs catalog)
在 Microsoft.Office.Server.Search.Administration.SearchApi.<>c__DisplayClassda.<GetContentSource>b__d9()
在 Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteCode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)
--- 内部异常堆栈跟踪的结尾 ---
在 Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteC...
10/19/2007 16:26:06.29* OWSTIMER.EXE (0x0C10) 0x15AC SharePoint Portal Server
User Profiles 62p4 Exception
...ode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)
在 Microsoft.Office.Server.Search.Administration.SearchApi.GetContentSource(Int32 versionIn, Int32 catalog, String contentSourceName)
在
最后我使用备份还原,把共享服务部分重新还原到一个新站点上问题就解决了。
特别注意,在还原前备份所有内容,否则出问题可不要找我啊。
这也会带来一些新的小问题,但搜索功能是正常了。特此记录,呵呵。