SSRS 2008 R2 错误:Timeout expired. The timeout period

今天遇到了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/

时间: 2024-10-05 04:34:40

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

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

今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" 或者 SqlClient Class , 你在执行一个很费时的SQL 操作时候,可能就会碰到下面的超时异常. --------------------------- ---------------------------Timeout expired.  The timeout period elapsed

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

今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" 或者 SqlClient Class , 你在执行一个很费时的SQL 操作时候,可能就会碰到下面的超时异常. --------------------------- ---------------------------Timeout expired.  The timeout period elapsed

Timeout expired. The timeout period elapsed prior to completion of the operation or the server...

问题: 最近程序总会抛出如下异常: An exception of type'System.Data.SqlClient.SqlException' occurred and was caught. ---------------------------------------------------------------------------------- Type :System.Data.SqlClient.SqlException, System.Data, Version=4.0.

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

写在前面 在mysql中这个异常是非常常见的,超时分为连接超时和执行超时,而连接超时,大部分原因是网络问题,或客户端到服务端的端口问题造成. bug场景 有的时候,使用MySqlDataReader在读取数据的时候,datareader的特性是在在线读取,而且是一条一条往下读,也就是只进式读取.如果数据非常多,就会造成超时的问题. 这种超时是执行超时引起的. SqlCommand.CommandTimeout 获取或设置在终止执行命令的尝试并生成错误之前的等待时间. 等待命令执行的时间(以秒为单

windows 2008 R2错误点击禁用远程桌面连接后的解决方法

一.错误操作截图: 二.解决步骤: 1.与该机器建立ipc$连接 net use\\192.168.99.230\ipc$"Password" /user:administrator ----需要知道administrator用户密码,用具体密码代替双引号中的Password ----命令成功执行后,可以通过net use查看 2.确定机器的时间 net time\\192.168.99.230 3.通过计划任务修改注册表 at \\192.168.99.230 15:39 cmd /

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.

1.Max Pool Size 默认为100. 2.查看当前数据库连接数量, select * from sysprocesses where dbid= db_id('数据库名称') 结果为190, 3.添加数据库查询的最大连接数量 Data Source=.;Initial Catalog=i_Master;Persist Security Info=True;User ID=NUser;Password=N2;max pool size=500设置最大连接数量 500 原文地址:https

Timeout expired 超时时间已到. 达到了最大池大小 错误及Max Pool Size设置

参考数据库链接串: <add key="data" value="server=192.168.1.123; Port=3306; uid=root; pwd=root;database=data;pooling=true;min pool size=5;max pool size=512;connect timeout = 20; "/> 查看应用程序池占用数量: select * from sysprocesses where dbid= db_id

SqlException:ConnectionTimeout Expired. The timeout period elapsed during the post-login phase

linux系统部署.netcore程序后,访问某台sqlserver 2008 R2数据库 Connection Timeout Expired. The timeout period elapsed during the post-login phase. The connection could have timed out while waiting for server to complete the login process and respond; Or it could have

Oracle中的ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

向某个数据库用户中插入.更新.删除一个表的数据,或是增加一个表的主键.索引时,出现下面的错误: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 这是因为有事务正在进行或是事务已经被锁,因此导致不成功 1)用dba权限的用户查询数据库中有哪些锁 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1