今天遇到了Reporting Services(SQL SERVER 2008 R2)的报表执行异常情况,报表加载数据很长时间都没有响应,最后报“An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.;”。检查C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles下日志,发现ReportServerService__12_24_2014_10_29_02.log中有大量如下错误:

library!WindowsService_4!1308!12/24/2014-01:27:53:: ;i INFO: Call to CleanBatch() 

 

library!WindowsService_4!1308!12/24/2014-01:32:53:: ;e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.; 

 

dbcleanup!WindowsService_4!1308!12/24/2014-01:32:53:: ;e ERROR: Sql Error in CleanOrphanedSnapshots: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. 

 

library!WindowsService_4!1308!12/24/2014-01:32:53:: ;i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs, 0 persisted streams, 0 segments, 0 segment mappings, 0 edit sessions. 

 

library!WindowsService_4!1308!12/24/2014-01:32:53:: ;i INFO: Call to CleanBatch() ends 

 

library!WindowsService_4!13ec!12/24/2014-01:37:53:: ;i INFO: Call to CleanBatch() 

 

library!WindowsService_4!13ec!12/24/2014-01:42:53:: ;e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.; 

 

dbcleanup!WindowsService_4!13ec!12/24/2014-01:42:53:: ;e ERROR: Sql Error in CleanOrphanedSnapshots: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. 

 

library!WindowsService_4!13ec!12/24/2014-01:42:53:: ;i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs, 0 persisted streams, 0 segments, 0 segment mappings, 0 edit sessions. 

 

library!WindowsService_4!13ec!12/24/2014-01:42:53:: ;i INFO: Call to CleanBatch() ends 

 

library!WindowsService_4!1308!12/24/2014-01:47:53:: ;i INFO: Call to CleanBatch() 

 

library!WindowsService_4!1308!12/24/2014-01:52:53:: ;e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database.; 

 

dbcleanup!WindowsService_4!1308!12/24/2014-01:52:53:: ;e ERROR: Sql Error in CleanOrphanedSnapshots: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database.  This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding. 

 

library!WindowsService_4!1308!12/24/2014-01:52:53:: ;i INFO: Cleaned 0 batch records, 0 policies, 0 sessions, 0 cache entries, 0 snapshots, 0 chunks, 0 running jobs, 0 persisted streams, 0 segments, 0 segment mappings, 0 edit sessions. 

 

library!WindowsService_4!1308!12/24/2014-01:52:53:: ;i INFO: Call to CleanBatch() ends

 

检查了服务器的存储情况后,可以排除low disk问题,只能是connection failure, timeout的问题,于是我查看1点多的执行记录,发现取数据时间都是几百秒,如下截图所示

我检查C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer下的rsreportserver.config,发现DatabaseQueryTimeout为120秒

 

但是这些报表的SQL语句我在SSMS里面执行过,也只有1~2秒,根本不会超时的情况。当时我立马重启了SSRS服务后,问题解决。那么问题究竟出自哪里呢?搜索了网上很多资料,大致有下面一些原因:

原因1:SSRS服务崩溃了,不能响应用户请求。

These threads could help: SSRS 2008 crashing when running a report with huge amount of data long running report can not be rendered in Report Manager .....

具体可以参见“参考资料”选URL中的讨论。

原因2:Database deadlocks occur when you try to view an SSRS report in the SharePoint integrated mode after you update a data source

具体可以参考官方文档http://support.microsoft.com/kb/2691331/en-us ,不过由于我们服务器并没有应用SharePoint integrated mode,所以应该可以排除。

 原因3:Cannot rename a report in SharePoint integrated mode.这个核查过后,也可以排除。

至此,由于第一次遇到这个错误,搜索了大量资料也没有看到一个很明确的答案,加之SSRS确实也是问题多多。所以我觉得应该是SSRS服务崩溃了。如有不对,敬请指出。

参考资料:

http://support.microsoft.com/kb/2691331/en-us

https://social.msdn.microsoft.com/Forums/en-US/bd23d539-2521-456c-8af6-04ad37dc89b6/report-server-error?forum=sqlreportingservices

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/b80d7f29-b271-4845-b7be-df5a9b591ed2/ssrs-2008-connection-failure-timeout-or-low-disk-condition-within-the-database?forum=sqlreportingservices

http://blog.davyknuysen.be/2010/09/22/cannot-rename-a-report-in-sharepoint-integrated-mode/

SSRS 2008 R2 错误:Timeout expired. The timeout period的更多相关文章

  1. Connection open error . Connection Timeout Expired. The timeout period elapsed during the post-login phase.

    是这样的,最近我在开发Api(重构),用的数据库是Sqlserver,使用的Orm是 SqlSugar(别问我为什么选这个,boss选的同时我也想支持国人写的东西,且文档也很全). 被催的是,写好了程 ...

  2. Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

    今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...

  3. Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.【转】

    今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...

  4. SQLSERVER:Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

    背景: 在最近开发中遇到一个问题,对一个数据库进行操作时,我采用64个并行的任务每个任务保证一个数据库连接对象:但是每个任务内部均包含有24个文件需要读取,在读取文件之后,我们需要快速将这24个文件批 ...

  5. 1.1.6版本Druid连接MSSQLServer 2008 R2报错The query timeout value -1 is not valid. #2210

    https://github.com/alibaba/druid/releases/tag/1.1.8问题已修复,请使用新版本 xhhwc commented on 21 Dec 2017 1.1.6 ...

  6. 网站错误记录:Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.

    今天看公司项目的错误日志文件,发现日志文件都是记录的这个错误. 经过网站查找,发现英文翻译是: 译:超时,与连接池的连接时间已过.这种情况发生是因为连接池在使用和最大连接池数目已满 通过翻译,可以看出 ...

  7. 解决 Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 的问题

    在web 网站开发中,经常需要连接数据库,有时候会出现这样的数据连接异常消息: 主要原因是 应用程序与数据库的连接超出了数据库连接的默认时长,在这种情况下,我们可以把数据库连接的时长延长一些,因为 C ...

  8. [bug]Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding

    写在前面 在mysql中这个异常是非常常见的,超时分为连接超时和执行超时,而连接超时,大部分原因是网络问题,或客户端到服务端的端口问题造成. bug场景 有的时候,使用MySqlDataReader在 ...

  9. Access导入Sql 2008 R2 错误 0xc020801c

    在选择数据源界面: 数据源:Microsoft Access 文件名:选择要导入的文件 用户名:admin 密码:(空的) 猛击”高级“按钮 切到”高级“选项卡,访问权限设为 ReadWrite,去掉 ...

随机推荐

  1. ZOJ Problem Set - 1251 Box of Bricks

    这道题简单的翻译成纯数学语言就是给你n个数字,每次运算只能是加1或者减1,问经过最短几步可以使得n个数字相等 由于题目限定了n个数字一定有平均数,所以求出avg,将所有比其大的数字或者比其小的数字的差 ...

  2. XML文件解析并利用SimpleAdapter将解析结果显示在Activity中

    首先创建一个实体类 Mp3Info用来存储解析的XML文件中的内容: public class Mp3Info implements Serializable{ private static fina ...

  3. DIB位图(Bitmap)的读取和保存

    设备无关位图(Device Independent Bitmap)是可以保存在磁盘的位图文件,可以从磁盘读取到内存或者从内存保存到磁盘上.它的文件结构是标准化的,可以在Windows/Linux/Un ...

  4. css学习--css基础

    学习慕课网笔记,课程:http://www.imooc.com/code/2024 1.css选择器 子选择器:parent>child 子选择器是指选择parent的范围内的第一个子元素.这里 ...

  5. [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!!

    [无聊的事-连载之连开100个VS] 折腾你的骚机吧,骚年们!!! 只有8G内存的,用这个:打开你的CMD命令提示符如果只装了Visual Studio 2010,用这条命令,打开50个VSfor / ...

  6. html自我设计login登录

    效果图如下: 第一次设计出能看的前台,就当留作纪念吧.

  7. jquery点击隐藏和显示

    <script type="text/javascript"> $("#close").click(function(){ $("#cen ...

  8. C#封装程序集自定义类方法注释提示

    一.为什么使用封装程序集: 在很多分布式应用程序开发中,针对每一种功能可能条用的接口不一样,往往习惯将需要被调用的接口,封装成DLL给调用方应用后使用,这样既规范了调用的方式,又避免了调用出现参数请求 ...

  9. php实现设计模式之 备忘录模式

    <?php /*备忘录模式:在不破坏封装的前提下,获取对象的内部状态,并且在对象外保存该状态.这样就可以将该对象恢复到保存之前的状态(行为模式) * * 发起人:记录当前时刻的内部状态,负责定义 ...

  10. 自己动手写ORM的感受

    之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM ...