SSRS报表连接超时的问题

SSRS报表连接超时的问题

这段时间遇到一个问题就是ReportService 中采用了远程连接的报表偶尔会断开连接,导致报表导出异常,查阅了很多资料,几天来就是断断续续的终于解决了这个问题,下面把一些解决的点一一展示出来,便于大家将来遇到同样问题无从下手。

首先是报错,接下来我马上去看日志,很多人不知道文件的位置,一般默认就是这个路径(Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\LogFiles)。

主要的错误如下:

1. System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。

2. 偶尔还会连接池已满等错误。

综合一下,问题是时而有,大多数时候没有,那么我将问题集中到两个地方一个是数据量过大导致连接超时,另一个是网络、参数等配置问题。

过滤情况:

1.采用了远程数据库,不是共享数据源(SharePoint),因此排除了更新数据后对数据源的同步问题。(如果是则需要确保每次看之前数据源得到更新)

2.域账户权限问题,虽然是域内访问,当时权限没有问题,因为大多数时候是可以访问的。(否则需要添加访问权限)

3. 远程服务器环境,也没有问题,数据库允许远程连接,且硬盘环境没有问题。(否则会显示low disk condition within the database

接下来是我经过综合分析修改的几个地方:

1.配置设置是在 RSReportServer.config 文件中指定的参数。

a.计划内和计划外回收操作,影响应用程序池的回收。这个在C#部分将来可以详细讨论

<RecycleTime>720</RecycleTime>

<MaxAppDomainUnloadTime>30</MaxAppDomainUnloadTime>这两个值默认即可。

image

b.<Add Key=”DatabaseQueryTimeout” Value=””/> 查询超时时间尽量设置大一些,当然在一些环境下不能这么做比如频繁查询的,数据量较小的时候。对于我的报表系统而言,用的比较少且很多大的报表所以设定为30分钟。

image

2.修改web.config中的参数

image 

     httpRuntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。
     executionTimeout:表示允许执行请求的最大时间限制,单位为秒
     maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。

类似于C#中CommandTimeout 这个参数就是我们的执行时间超时值,如果太小就会引发执行失败。

3.接下来就是对RS 的参数修改

a.设置站点设置-》常规

image

其中在RSDB中也可以设置这个值,参数为默认为600or1800。直接选择不设置。

b.对于数据集的参数设置

首先在开发的时候就可以设置比如timeout时间。一般默认为0.然后这里我做了如下修改

image 点击出现问题的报表右键,然后选择管理

image

注意这个地方是关键,对于这种共享数据源的数据集也要设置,选择不对报表时间设置超时,或者指定超时时间。默认值我推测可能是15or30。这样在wait时极有可能造成超时。

当然以上只是我的最后得出的推论,还需要注意一下几点:

1.这期间修改了很多地方比如连接参数修改过connection timeout 参数,maxpool等

2.有一些地方的配置也需要注意,比如远程连接中尽量采用IP地址作为连接对象,尽量不要使用服务器缩写名称,这样在DNS匹配的时候经常会影响,尤其是涉及到服务器迁移的时候会出问题。其次会影响响应速度。有些时候设置需要清洗DNS的匹配。

3.服务器端的防火墙配置,添加出站入站规则,一般默认端口1433,否则需要制定规则。

4.RS报表或者其他的连接方式

image

对于.net之类的微软程序尽量选择SQLServer 的数据源,这样速度更快尤其是SSRS已经SSIS,如果非微软数据源,可采用oledb等,但是注意升级数据库,使用最新的驱动程序。

 

总结

       由于这个偶尔断开的连接问题,让我断断续续地看了好多资料但是真正解决起来才发现小的知识点很多,这里也不过多展开了。报表这块由于太占资源必须经常性的检查优化。这期间监测网络是否畅通,数据库环境是否出现问题等都是要做好自动化监控的。

 

补充: 

        突然想起来一个老问题,是关于网络连接问题引发的数据库访问异常。也会引发类似的问题,涉及到远程链接访问的。

        原因是对于SQLServer 的TCP/IP地址而言默认访问IPV4地址。所以当服务器上有IPV6地址时,会去访问IPV6从而引发连接超时等现象。具体的修复步骤如下:

        1.不需要用IPv6的话直接在网络连接中将Ipv6的选项勾掉然后应用即可。如图:

<span>SSRS报表连接超时的问题</span>

    2. 如果必须使用IPv6,则需要执行以下步骤:

  • 打开SQLServer 配置管理器
  • <span>SSRS报表连接超时的问题</span>
  • 点击网络配置下面的协议
  • 右侧点击TCP/IP,右键属性。

<span>SSRS报表连接超时的问题</span>

  • 为每一个IP地址的端口号都输入你的默认端口号,然后活动和启用都选择是。应用即可
  • <span>SSRS报表连接超时的问题</span>
  • 如有必要还要添加端口或者程序的入站规则(端口),出站规则。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119715.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 周易经典语录 名句集锦_感悟人生的句子 励志

    周易经典语录 名句集锦_感悟人生的句子 励志《周易》亦称《易经》,简称《易》,此书是我国最早的哲学著作,为“六经之首”,其中也有大量反映古代生活的歌谣。古代有《连山》、《归藏》、《周易》三种不同系统的易学。《连山》据说是夏代的易学,《归藏》是殷代的易学,《周易》是周代的易学。前二书皆佚,今只存《周易》。1.居上位而不骄,在下位而不忧。出自《易经·乾传》。释义:在上位不骄傲自大,在下位就无须担忧了。2.人之所助者,信也。出自《易经…

    2022年8月18日
    13
  • 游戏数据实时监控和分析[通俗易懂]

    游戏数据实时监控和分析[通俗易懂]概述为了更好的了解到游戏运行时的状态,对相关的功能和数据进行分析是很重要的,设计了本系统。现有的游戏数据大部分采用的是文本输出,备份,然后离线数据分析的方式,不能实时的监控的游戏的状态.相关技术:1:产生日志服务器采用c++实现2:日志监控服务器采用Java实现3:采用hadloop分布式架构.为应付大规模数据和实时的要求,尽快对数据进行分析4:存储日志采用mo

    2022年5月12日
    43
  • net share 共享文件夹

    net share 共享文件夹共享文件夹并设置共享文件夹为读写 netshareali M test unlimited grant everyone full 同时还需要配合 cacls 来设置文件夹访问权限 caclsM test geveryone rR 读取 W 写入 C 更改 写入 F 完全控制 netshareali M test unlimited grant everyone fullcaclsM test geveryone r

    2025年12月11日
    4
  • 最新Web前端面试题精选大全及答案「建议收藏」

    最新Web前端面试题精选大全及答案「建议收藏」HTML、CSS相关1.网络中使用最多的图片格式有哪些JPEG,GIF,PNG,最流行的是jpeg格式,可以把文件压缩到最小在ps以jpeg格式存储时,提供11级压缩级别2.请简述css盒子模型一个css盒子从外到内可以分成四个部分:margin(外边距),border(边框),padding(内边距),content(内容)。默认情况下,盒子的width和height属性只是设置content(内容)的宽和高,盒子真正的宽应该是:内容宽度+左右填充+左右边距+左右边框盒子真正

    2022年4月30日
    44
  • 程序员写代码都用什么样的笔记本?

    程序员写代码都用什么样的笔记本?程序员一般喜欢用thinkpad或者Mac,因为价位等方面的因素,还是用thinkpad多点,从事不同研发方向需要的计算机的配置也不太相同,现在开发软件要求的机器配置也和十几年不太一样,那个时候嵌入式刚好是红利期,很多的培训机构呼呼涉足这个领域,那个时期AMD的cpu还能和intel抗衡一下,不像现在有这么大的差异,记得第一家公司属于创业性质的公司,公司配置的电脑是神州牌子的,在上面开发软件,需要…

    2022年5月29日
    53
  • tracker服务器地址(每日更新)_hypixel服务器地址

    tracker服务器地址(每日更新)_hypixel服务器地址https://dns.icoa.cn/tracker/udp://tracker.tiny-vps.com:6969/announcehttps://1337.abcvg.info/announcehttps://tracker.fastdownload.xyz:443/announcehttps://opentracker.xyz:443/announceh…

    2022年10月1日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号