某日,客户反映WSS网站检索无法返回任何结果,但是在Portal中检索一切正常。还没处理出头绪来,客户又反映说某些站点下面的某个特定文件打不开了。于是开始处理这两个问题,在微软的技术支持网站上看到几个可能导致WSS网站无法检索的KB,按照里面的Solution进行解决,问题依旧存在,看来要找民间偏方了。去Google上检索“WSS检索问”题或“WSS No search results”。找到一堆的解决方案,但是都与客户WSS的症状不一样,于是让客户把服务器日志和SQL Profile检测到的跟踪记录都发给我,也没有发现任何可疑点。排除陷入僵局。根据公司规定,无法处理的问题需要提交给微软技术支持中心(我们是微软合作伙伴)。因此直接提交到3800进行处理。
还没等3800有反馈,客户又来电说在服务器上看到了几个异常警告框,其大意是指服务器硬盘写入动作失败等,打开资源管理器看到C:\盘下面没有了空间。于是客户删除了一些不常用的文件,释放空间后一切都正常了!原来问题在此!
分析这个原因,从WSS网站访问文件时,运行WSS的那台服务器需要一些临时空间来存放从SQL Server中取出的文件而不是直接推送到客户端。因此当出现硬盘没空间或损坏时,在应用程序日志中是看不到此错误记录的,这个异常事件被记录在系统日志中,难怪客户发来的日志中没有什么问题了。
回头看看排除过程,我将重点放在了客户最新升级的SQL Server 2005上了,让客户在SQL Server 2005中把全文编录删了又删,发现SQL Server 2005是没有问题的。其实在3个月以前客户曾经发生过一次这样的事件,那次很快就排除了,因此没有在心中和邮件中留下任何记录。导致花了近3个星期来处理这个问题,走了很多的弯路。这次把它记录下来,提醒自己的同时但愿能给遇到相同问题的同仁带来些帮助。
顺便提一句,在SQL Server 2005中,已经没有mssearch这个服务了,改成了另一个名称,值得注意。(什么名称呢?留给各位看官自己去发现)