Reporting Service 2008 “金沙官网线上报表服务器
今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) 。具体情况请见下面描述。
在应用端,偶尔看到有如下报错:
Authentication to host 'xxxx' for user 'yyyy' using method 'mysql_native_password' failed with message: Reading from the stream has failed.
1:在修改报表的订阅后,保存时出现下面错误:
1.只有用Connector/NET 出现这个问题, 用JDBC驱动没有类似问题。
提示:报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的。 (rsReportServerDatabaseError) 获取联机帮助
2.多台应用服务器,只有一台报这个错,因此可以排除服务器端的问题。
有关此错误的详细信息,请导航到本地服务器上的报表服务器或启用远程错误
3.问题非常随机,重启一下服务器/IIS,就能临时解决问题。
4.有一些场景应用服务器CPU并不是很高,也会偶尔抛出这个错来。
客户端是Windows机器, 驱动是MySQL Connector ADO.NET Driver for MySQL ,使用的版本是6.9.9,是比较新的版本。
从报表右键的”管理“选项进入,选择“订阅” ,发现有“Failure writing file \xxx.xxx.xxx.xx...: There is not enough space on the disk;”这样的错误,这个是因为报表的Owner在配置订阅时,设置了Windows File Share,这样报表将被发送到一个共享目录。而由于该应用服务器并没有监控磁盘空间使用情况,在空间耗尽的情况下,出现了上面这样的错误。清理应用服务器的磁盘空间后,问题解决。
下面话不多说了,来一起看看详细的分析与解决思路吧
我们在应用服务器端和数据库端抓包。两边抓到的包是一致的。可以排除网络问题。下面是抓到的包,以及时间点:
编号
绝对时间
2: 上面问题解决后,发现还是有一张报表报错,提示信息有所不同,如下所示:
相对时间
报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的。 (rsReportServerDatabaseError) 获取联机帮助 There are two or more jobs named '11BE8C1C-BF56-48A3-9BAB-F4C506E28E02'. Specify @job_id instead of @job_name to uniquely identify the job.
源头
目的
网络包内容
这个是因为订阅创建了重复的Job,至于是什么原因,暂时不清楚。网上有很多人反馈这个问题。似乎各个版本都有这个问题。 个人还是第一次遇到这种问题。 直接删除其中一个Job,问题即可解决。
1 12:58:47 9.07 应用服务器 数据库服务器 ......S. 2 12:58:47 9.07 数据库服务器 应用服务器 …A..S. 3 12:58:47 9:07 应用服务器 数据库服务器 …A…. 4 12:58:47 9:07 数据库服务器 应用服务器 …AP… 5 12:58:47 9.27 应用服务器 数据库服务器 …A…. 6 12:58:57 19.12 数据库服务器 应用服务器 …A…F 7 12:58:57 19.12 应用服务器 数据库服务器 …A…. 8 12:59:10 32.00 应用服务器 数据库服务器 …AP… 9 12:59:10 32.00 数据库服务器 应用服务器 …..R..
本文由金沙官网线上发布于数据库,转载请注明出处:Reporting Service 2008 “金沙官网线上报表服务器