SharePoint 补丁

Windows SharePoint Services 3.0前几天发布了一个公开的更新补丁,KB941422补丁说明)。虽然WSS Team实际上在不断的制作一些更新补丁,但通常这些补丁只会提供给微软的售后支持部门,而不会每个更新补丁都公开发布。

实际上,对于这样的更新补丁,如果在您的SharePoint服务器上没有发现什么特别重要的问题,并且你确认安装了这个补丁后能够修正那个问题,那么可以暂缓安装这些更新补丁。即使您真的想安装,我也强烈建议在安装补丁之前将站点集内容进行完整备份,以防万一。

现在讲讲我之前干过的一件很白痴的事。我们部门有一台SharePoint服务器,我在安装的时候,是使用我自己在公司域里面的帐号(当然,我在公司域里面的帐号并非域管理员)。由于公司域策略要求我每过一段时间,就必须更改我的帐号密码,所以在我更改了自己的域帐号密码之后,就必须登录到SharePoint服务器上,把SharePoint中涉及到的我的帐号密码全部进行更新(IIS应用程序池、Windows NT Services、SharePoint爬网帐号...等等)。由于我天生懒惰,所以每次在更改了域帐号密码之后,登录到SharePoint服务器上进行密码更改时,我并没有仔细检查是否所有需要改的地方都改到了,而只是随便改几个地方,然后验证管理中心和站点能打开,就匆匆退出了事。

SharePoint服务器忍了我很久之后,终于逮到了我安装一个SharePoint更新补丁的机会,很爽的折磨了我一把。在安装SharePoint更新补丁之后,需要重新运行SharePoint安装配置向导,由它来完成一个升级的过程。但是终于有一次,在我安装完了一个补丁,然后运行SharePoint安装配置向导的时候,它告诉我,“配置失败”!

运行SharePoint安装配置向导失败就意味着SharePoint前端服务器最终不会和后端的配置数据库连接(即使安装一个更新补丁后的再次运行失败,也会导致这个后果),也就是说,所有SharePoint站点,包括管理中心,都无法打开了...

按照“惯例”,我重新启动了服务器,然后重新尝试运行SharePoint安装配置向导,错误依旧,“配置失败”。这次,我打开了升级日志,仔细查看了失败的原因,日志里面显示,是由于一个Windows服务“SPSearch”安装失败造成的。“SPSearch”就是“Windows SharePoint Services Search”服务,它为WSS提供索引和搜索服务。我打开Windows Server管理工具里面的Windows服务管理,找到这个“SPSearch”服务,发现它的状态是“禁用”,我将它的状态改为“手动”,然后尝试直接启动这个服务,但系统直接告诉我,由于登录帐号信息错误,无法启动服务。这个错误通常是因为用来运行服务的Windows帐号错误,或者密码错误。这个服务的运行帐号就是我自己的域帐号,我手工将“SPSearch”服务的登录帐号密码改成正确的密码,然后再启动服务,成功了(是这个服务成功启动了,而不是SharePoint成功恢复正常了)。

到这里,我大致了解了发生这个错误的原因:某一次,在我更改了自己域帐号的密码之后,在登录到SharePoint服务器上更改服务器上我的帐号信息的时候,没有将进行SharePoint索引服务(爬网服务)的帐号密码更改成最新的密码。这个结果在当时应该只是使SharePoint爬网不正常,但一时看不出来,毕竟SharePoint网站和管理中心都能够正常访问,所以我根本没有注意到。但是在重新运行SharePoint安装配置向导时,这个向导会从某个地方(应该是配置数据库)中获取到当前服务器场中的爬网帐号和密码(已过期的错误密码),然后尝试用这个帐号和密码信息重新安装“SPSearch”服务,显然,结果会是失败。

了解了引起错误的原因是一回事,但是修正这个错误确实另外一回事。虽然我已经大致知道了原因,但现在我没有任何途径可以将保存在配置数据库中的爬网帐号和密码更新成最新的正确的信息。手工打开配置数据库,找到这个数据项,然后改掉?我不是没有尝试过,但是...建议你自己打开SharePoint配置数据库看一下里面存储的信息的结果,就知道为什么这么做不太可行了。

现在的我被逼入了绝境,我必须尽快恢复这个SharePoint网站的正常运行,否则俺可爱的部门同事会用口水淹没俺...于是,俺:

1、打开记事本,输入我的域帐号的当前密码,然后将它复制到剪贴板上(为了后面的步骤不需要手工再敲密码,以尽可能提高速度);
2、打开SharePoint服务器上的命令提示符,定位到“Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN”目录;
3、在命令提示符中输入“PSCONFIG -cmd upgrade -force”,这时开始执行SharePoint升级过程;
4、打开Windows Server上的服务管理器,找到“SPSearch”服务,疯狂的按F5,检查“SPSearch”服务的状态;
5、如果发现“SPSearch”服务的状态有变化(由已启动变成停止状态),就表示“PSCONFIG”程序正在重新安装这个服务,用最快的速度打开“SPSearch”服务的属性,在登录帐号的密码处进行粘贴,将我的域帐号最新密码粘贴进去,同时点击“确定”;
6、继续疯狂按F5,监视“SPSearch”服务的状态,循环执行步骤6的动作,直到到达步骤7;
7、命令提示符中提示“PSCONFIG”指令执行完毕,SharePoint成功完成了升级过程;
8、输入“PSCONFIG -cmd configdb -server DBSERVER -database SharePoint_Config -user DOMAIN\USER -password PASSWORD”,将SharePoint Front-end服务器连接到配置数据库;
9、搞定!

凭着俺超强的RP,终于恢复了SharePoint站点的正常运行。

总结:如果你觉得自己运气通常不怎么好(仔细反思一下自己过去几十年的RP),那么在安装SharePoint更新补丁之前,一定要记得对站点集的内容进行备份,这样,你就永远有路可退(大不了熬夜重装,是吧?)。

posted on 2007-09-11 23:11  kaneboy  阅读(212)  评论(0编辑  收藏  举报

导航