由于以前安装过SQL2005 BETA2版本,后来再装上SQL2005正式版后发现报表服务不能启动,使用url地址 http://localhost/reportserver访问时报告下面信息:
|
经过诊断,这一问题可以通过命令行解决,如下:
|
当然,如果你的SQLSERVER2005不是混合验证,你可以改变一下上面的参数,如
|
这样,如果上面命令没有报错的话,你再通过http://localhost/reportserver访问时应该是不会报不能连接到SQLSERVER 数据库问题了。
但是,我通过http://localhost/reportserver访问是,报告下面信息:
|
真冤,那我就启动报表服务把,可是启动的时候它报错,说它启不起来,要我去事件里看看,这不玩我么?我就去事件里瞧瞧,果然发现3个大红叉,内容如下:
红叉1:
|
红叉2:
|
红叉3:
|
红叉1报的莫明奇妙,RPC服务启动故障,这SQL2005更年期了把,明明RPC服务好好的启着。
红叉2报的更加奇怪,没事用这LocalSystem破标志干嘛,我又没有设置你,无法识别。
红叉3竟然提供了一个解决方案,说要我再用rsconfig.exe试试,整人怎么能这样呢?rsconfig.exe总共才几个参数,我都玩了几百遍了,还要我玩,会不会啊,又是一个脑痴,不知道就不知道,还要给个什么建议干嘛,引我入歧途啊!
不过微软还是挺实在的,我把红叉2的内容往GOOGLE上一搜,就发现微软的官方网站上有这个问题的解决办法,网址如下:http://support.microsoft.com/kb/911846/en-us
这文章大意就是说:确实有这个问题存在,这个原因是在RSreportserver.config文件中的WebServiceAccount属性没有指好导致,当这个属性没有指好时,它就会使用ASPNET使用的帐号,然而当前ASPNET使用的这个帐号它不存在于域控制器中的,缺省情况下这个ASPNET使用的帐号就是应该在域控制器中,如使用IWAM_ComputerName帐号。
哎,看上面的话不就是怪我改动了ASPNET的使用帐号,所以报表服务启不起来,明显推卸责任不多说了,看看微软的解决方法把,其实很简单,打开RSreportserver.config文件,这文件所处的目录如下:
|
然后找下面标志
|
把它改成下面的样子:
|
好了,存盘重启报表服务,历时3小时16分零16秒,报表服务启动终于成功。
但并不意味着可以成功访问了,我再访问http://localhost/reportserver/时出现下面错误:
报表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。 (rsReportServerDatabaseUnavailable) 获取联机帮助Login failed for user 'CRSERVER\IWAM_CRSERVER'.
这个问题报告到挺实在的,就是说当前这个用户不能访问SQLSERVER数据库,那行,我就为这个用户建立一个SQL登录却发现其实这个用户根本就不能建登录,意味着它也不是域帐号,哎,忘了说了,我的时WIN2003系统,微软上面那篇文章讲的是2000的好把,反正知道问题所在,先把ASP.NET的运行帐号改为NT AUTHORITY\LOCAL SERVICE,然后在上文件中把
|
改成下面的信息
|
这下应该没错了把,可是郁闷的是还是有错:上个错误没有了,下个错误出来了,如下:
|
记得SQL2005有一个报表配置管理器,去里面玩玩发现有一个加密的一栏,不管了,它不是说不能解密么,那我先把它删除,删除成功了,然后再change一下生成一个新的,OK在重新使用http://localhost/reportserver访问,幸喜惹狂啊,什么错也没有了IE返回界面如下:
|
大功告成!