只所以称为非常规问题排错,是因为这个问题平时很少碰到,因为无论对于SharePoint Server配置管理者或者开发者,一般不会触发这个问题的产生,除非是好奇心,好奇害死猫啊!但是这个问题又很典型,在SharePoint上做多年应用的技术人员,迟早会遇到这个问题。
这个问题是什么呢?是SharePoint Server服务器场环境中“管理中心”服务停止后,如何重启的问题。
这个问题开始我也没放在心上,去年快年终时客户方的一个管理员突然打电话说他把“管理中心”服务停止了,问如何重启。当时我就给他说,你把它重新启动不就行了。他说在管理中心找不到重启的按钮,我说你去服务管理控制台(services.msc)重启下。结果他说还是不行,最后远程看了下,压根services.msc中的几个SharePoint服务原来是什么状态,现在还是什么状态,用stsadm命令折腾了一会也不行,我突然意识到这个问题的典型性。
索性就测试了一翻,得出的结论如下:
“管理中心”服务停止后,通过services.msc和stsadm命令是搞不定重新启动的。services.msc中的SharePoint服务和“管理中心”服务没有直接关系,也就是你没地方重启“管理中心”服务。经测试解决的办法是必须要通过运行“SharePoint产品和技术配置向导”进行重新配置,配置结束后链接到管理中心如果出现
HTTP Error 503. The service is unavailable.
会从系统日志中发现一个警告和一个错误,如下:
-----WAS警告
日志名称: System
来源: Microsoft-Windows-WAS
日期: 2010/12/8 18:05:39
事件 ID: 5057
任务类别: 无
级别: 警告
关键字: 经典
用户: 暂缺
计算机: litao-moss.contoso.com
说明:
应用程序池 SharePoint Central Administration v3 已被禁用。Windows Process Activation Service (WAS) 未创建工作进程来为应用程序池提供服务,因为该应用程序池标识无效。
-----WAS错误
日志名称: System
来源: Microsoft-Windows-WAS
日期: 2010/12/8 18:04:22
事件 ID: 5059
任务类别: 无
级别: 错误
关键字: 经典
用户: 暂缺
计算机: litao-moss.contoso.com
说明:
应用程序池 SharePoint Central Administration v3 已被禁用。Windows Process Activation Service (WAS)在启动为该应用程序池提供服务的工作进程时失败。
事实上The service is unavailable.问题的出现,这个平时做SharePoint开发碰到的次数就太多了,多半都是IIS中应用程序池标识出了问题,或者IIS中SharePoint网站停止。所以重新修改管理中心应用程序池的“标识”,重启应用程序池,问题最终得到解决。
因为这个问题的典型,非常规,虽然已经解决了,我还是想寻求更好的解决办法,因为这样的服务微软怎么不把它设计成一键重启呢?所以我把它拿到MSN中的SharePoint群中讨论了一翻,发现像kaneboy,jianyi几个资深的SharePoint专家也没碰到过这个问题。倒是很多朋友跃跃欲试,把“管理中心”服务停止了来测试,最终都无功而返,杯具发生了,哈哈。当然很多朋友提出了用stsadm命令来重启,这个一开始我就考虑了,但的确stsadm无法重启这个服务,甚至搜到了国外一个SharePoint MVP的一个用stsadm的解决办法(这个解决办法先前我已经实践过了),但是这个MVP确实没有实践过,误导很多人,我这里也想说,作为一个MVP,你不经实践,你咋能这样呢?
事实上通过这个问题,我把“Windows SharePoint Services Web 应用程序”服务也停止了,因为总体上讲“管理中心”服务影响的主要是管理中心网站,而对业务网站影响最大的是“Windows SharePoint Services Web 应用程序”服务,经测试,当“Windows SharePoint Services Web 应用程序”服务停止后,相关的IIS网站和应用程序池会在IIS中消失,数据库中相关的数据库会保留,但是相关的业务网站并没有从磁盘上删除,重启后会重新出现。当然对于“管理中心“服务也是这样(相关的IIS网站和应用程序池会在IIS中消失,数据库中相关的数据库会保留,但是相关的业务网站并没有从磁盘上删除,重新配置后会重新出现),但不同的是,对于”Windows SharePoint Services Web 应用程序”服务重启是一键式的,只要管理中心进得去,直接重启“Windows SharePoint Services Web 应用程序”服务就可以了,但是因为业务网站中,常常会在配置文件中配置很多自定义的内容,而重启“Windows SharePoint Services Web 应用程序”服务,业务网站中的自定以内容将会被覆盖,所以必须要重新配置,比如共享程序集的安全配置,活动目录的自定义配置等,否则,你会发现业务网站的首页,到处都是错误,但是错误很明显,是配置文件出问题了。
当时,问题是解决了,不过我告诉客户方的管理员,你好奇心不要太重,你的一个指令会影响整个服务器场的运行的!
从新理一下“管理中心“服务停止后启动的办法,步骤如下:
1,
运行“SharePoint产品和技术配置向导”进行从新配置
2,
配置结束后要修改管理中心应用程序池的“标识”,并重启应用程序池
运行“SharePoint产品和技术配置向导”进行重新配置的截图如下:
下面一步很重要,必须选择“不断开与此服务器场的连接”,这样可以重新与原来的服务器场数据库,管理中心网站等建立联系。
在IIS7中修改管理中心应用程序池的“标识”,并重启应用程序池,步骤如下图:
本文转自terryli51CTO博客,原文链接: http://blog.51cto.com/terryli/511849,如需转载请自行联系原作者