由于兑现了Crystal报表查询,SQL数据库服务器几乎崩溃

2020-09-16 22:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好! 我有一个快速的问题。 我最近购买了Crystal Reports,并创建了一些报告并更新了其他报告。 使用几天后,该软件的运行速度非常慢,我们的IT公司联系我,我们的数据库已经在兑现查询,并且几乎内存不足。 由于它几乎崩溃了,他们能够解决此问题的唯一方法是重启服务器。 在此之后,它可以正常工作。 我想知道是否有办法防止Crystal Reports兑现到数据库,因此我们不必每三天左右重置一次数据库服务器。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好! 我有一个快速的问题。 我最近购买了Crystal Reports,并创建了一些报告并更新了其他报告。 使用几天后,该软件的运行速度非常慢,我们的IT公司联系我,我们的数据库已经在兑现查询,并且几乎内存不足。 由于它几乎崩溃了,他们能够解决此问题的唯一方法是重启服务器。 在此之后,它可以正常工作。 我想知道是否有办法防止Crystal Reports兑现到数据库,因此我们不必每三天左右重置一次数据库服务器。

付费偷看设置
发送
3条回答
暮风yp
1楼-- · 2020-09-16 23:01

你好

对我来说,现在还不是100%清楚这里是什么问题。 有多个嫌疑人:

  • Crystal Reports(CR)会生成大量查询,并在SQL Server上运行它们,因此计划缓存中将填充所有这些查询。 计划缓存可以增长到SQL Server内存的三分之一,您可以使用数据库服务器上的命令

    DBCC FREEPROCCACHE
    GO

    清除它,以释放内存 。
  • CR仅在数据库中运行少数几个但非常昂贵的语句,并从DB中读取大量数据。 这会用完这些报表的数据,并用它们填充SQL Server上的缓冲区缓存。 DB上其他系统所需的数据从缓存中逐出,必须从磁盘重新读取。 这会减慢其他应用程序的速度。 缓冲区高速缓存受SQL Server中最小和最大服务器内存设置的限制。
    解决此类问题的最佳方法是对CR中的查询进行重新处理,以仅读取其真正需要的数据;如果仍然过多,则将CR指向第二个SQL Server,并复制一个 生产性数据不会影响生产工作。
    要清除完整的缓冲区高速缓存(以便更快地将其再次用于其他应用程序),可以运行

    DBCC DROPCLEANBUFFERS
    GO

    在数据库服务器上。

无法从SQL Server缓存计划和数据。 如果CR在服务器上增加了太多负载,则应将数据副本复制到另一台服务器上(拆分生产和报告负载)

最好的问候

Clas Hortien

Nan4612
2楼-- · 2020-09-16 22:38

能否为您的问题添加更多详细信息,例如添加SQL日志,Crystal Reports日志,还可以添加服务器配置。

-Yogesh

追夢秋陽
3楼-- · 2020-09-16 22:52

如何在CR中重新处理查询以仅读取所需的数据? 我认为我无法设置第二台服务器。

感谢您的帮助,

迈克·格汉

一周热门 更多>