I'm developing a simple tabular report to fetch 20 columns with some WHERE condition.
My server details are as below: SQL server is 2008 with Memory 32GB out of which OS is using 4GB.
My development PC is having 8GB memory and I'm developing a report in SSRS 2012. I have written the query in the query designer itself to fetch the records. The number of records it has to fetch is around 500000. However, it I run the report from my development PC, error showing as "System.OutOfMemoryException exception".
However, with the same query, I'm able to fetch around 100000 records.
What I think is getting 500000 records is not a big deal for SSRS 2012. I'm unable to get why this error is coming up?
I think the rendering of the report is consuming my development PC's memory, not the server memory - Please correct me if I'm wrong?
I have 8GB memory and very less possible option to increase the memory of development PC. Apart from increasing memory, what are the other best possible options to try to overcome this error?
From my development PC , form where I can get RSReportServer.config ? Is there something I can do in this config file? Please suggest.
Note: Yes the dev PC is 64 bit OS. And, when extracting report to Excel is showing error: "An error occurred during local report processing. An unexpected error occurred in report processing. An exception of type 'System.OutOfMemoryException' was thrown". However, exporting to CSV worked fine.
Related
Can anyone please tell me what this error is
After running the report for long time, I got the above error in reporting server.
We have also increased the space in the Reporting server.
When I run the stored procedure of the report in SSMS it took just 33 seconds. Can I know how to fix this problem
Try to increase the "time out".
Steps to achieve this method:
Enter to data sets folder.
Choose your data set.
Go to the "Time out" field and increase the value.
for more documentation Setting Time-out Values for Report and Shared Dataset Processing
have a strange one. We are running Sql Server 11.0.3000. The report is giving an error
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'Audit_Detail'. (rsErrorExecutingCommand)
Invalid object name 'dbAudit.tblRangeReport'.
The thing is, the report uses 3 stored procs to go after data in a database called dbSalarySurvey. The three sp's do not mention the dbAudit.tblRangeReport. There are no functions or views in the 3 sp's that access that table. Further more, if i run the report in VS 2012 the report runs. If i run profiler on the dbAudit table when VS runs the report, the report does not query the dbAudit table. Only when running the report from the web browser do i get this error. This more detailed version of the error come from running the report on the Sql Server REporting services computer.
I have tried restarting the reporting services service. We have also deleted this one report from the reporting services server and republished it. Have also tried to republish the dataset. Other reports in this project that use the datasource and the same tables run.
Anyway, was wondering if anyone had any sugguestions.
Thanks
shannon
It's fixed. it was a pebkak error in the stored proc. It's really strange though. Honest to goodness, the proc was running in my dev env but not when running from a browser. I had already checked profiler like was suggested below and done the xml scan too. In the end.. just missed it i guess.
You need to trace the SQL to determine.
Are you connecting to the right database?
Are the procs you expecting to see, the ones actually being run?
The procs you are running are correct?
Open SQL Server Profiler
Start New Trace
Click Event Selection, Select the following events
Click - Show All columns
Go into Column Filters
and filter on your DB, and possibly even your login name (the login name of the SSRS server)
Once you've done that, call your report and look to make sure all the procs are called that you expect. Track issues from there.
I am having a problem with some CRM Reports as they are not being rendered with the error
Microsoft.Crm.Reporting.DataExtensionShim.Common.ReportExecutionException: The fetch data set query timed out after 307.9435095 seconds. Increase the query timeout, and try again.
I dont know where to change that limit , but I changed the following limits in both CRM Application servers.
OLEDBTimeout , ExtendedTimeout , NormalTimeout
Do not time out ( through ReportManager for the whole report manager and for the report itself)
executed SessionTimeout.rss script against the report manager
executiontime and maxrequestlength in web.config for CRM website
But I am still getting the error as I cant optimize the query , the report is huge and takes 5 minutes of processing but it keeps showing an error after exactly 319 seconds.
This problem applies to CRM out of the box reports and also for reports developed in BIDS
Reports works fine if the data is not huge.
Joe CRM at Power Objects has a little guide that might help.
Hope that helps.
I have observed performance problems when rendering a 1000-page ServerReport using Microsoft.ReportViewer.WebForms versions 10 and 11 in Visual Studio 2013, running against a SQL Server 2012 Report Server.
This is not a query performance problem, since the underlying stored procedure returns the data in a few seconds. Running the report through the Report Manager returns an HTML or PDF report in 30 seconds. It is only when the report is returned through the Report Viewer that an additional delay of several minutes is encountered. Neither PageCountMode.Estimate nor local processing of the report have helped.
It appears to be a rendering issue. This is unexpected, because the rendering should be happening on the server. The client machines are less powerful than the server, and we do in fact want the server to render the report.
Some of the rendering is in fact being done on the client, despite the fact that this is a ServerReport.
Examination of the ExecutionLog2 view in the ReportServer database shows that an RPL format is returned in, e.g., 30 seconds. However, even though this is a ServerReport, the client then spends several minutes apparently performing additional rendering. There is no additional delay for older versions of the ReportViewer, which receive HTML4.0 instead of RPL. There is also no additional delay when all rendering is performed on the Report Server, as through the Report Manager.
It would be possible to request HTML4.0 format through ServerReport.Render(), except that Render() cannot be called explicitly for a WebForms ReportViewer Control.
For large reports, it would be useful to be able to prevent the client from receiving RPL or performing any rendering. There is a Microsoft Connect item about this.
When I executed reports in CRM 2011 by selecting more than 20 records it give the following error:
Microsoft.Reporting.WebForms.ReportServerException: An error has
occurred during report processing. (rsProcessingAborted) --->
Microsoft.Reporting.WebForms.ReportServerException: Query execution
failed for dataset 'DsPhoneCallBase'. (rsErrorExecutingCommand)
This is happening for both system reports and custom reports.
When you review the SSRS log you might find this error.
The SELECT permission was denied on the object
‘fn_GetGuidsFromString’, database ‘MicrosoftCRM_MSCRM’, schema ‘dbo’.
If so then this is a known issue supposedly fixed in UR8. You will find reference to it here http://blogs.msdn.com/b/crminthefield/archive/2012/04/20/podcast-and-overview-microsoft-dynamics-crm-2011-update-rollup-8.aspx
See this blog for a work around until you upgrade.
http://xrm4you.wordpress.com/tag/support/
If possible, attach a SQL Server Profiler to the database server and make sure to include "Events: Error" in the events selection. This will show you which statement fails and why.
You might also be able to find pointer in the reporting services log files:
%ProgramFiles%\Microsoft SQL Server\MSSQL.x\Reporting Services\LogFiles