SSRS 2005 performance issue with export - reporting-services

We have some SSRS 2005 reports, hosted on a report server. When we try to export the reports to excel its taking more than usual time to download. The reports otherwise takes acceptably reasonable time to render.
When i ran SQL profiler against the report server found that, it internally is calling "ReadChunkPortion" sp thousands of times. I am assuming this has something to do with the pagination.
Can we conditionally disable pagination, while doing an export ? Appreciate any help/directions.

You may have luck changing the InteractiveHeight property to 0, as described in the last sentence on this page. This may affect the way the HTML renders, though, so be aware of the impact it might have.
In my experience, SSRS exports to Excel are generally inefficient, and the bigger the dataset the more frustrating it gets. It seems like there is little you can do to change this.
If setting the InteractiveHeight property doesn't work, and you really need the Excel export to run faster, you may just have to export to a .csv then open in Excel. Unfortunately, it requires more steps from the user, but depending on the size of your report, it could still be faster than sitting and waiting for the Excel export to complete.

Related

How to solve SSRS timeout problem for heavy reports

I did my best to create huge report for someone who still likes to work with 200K rows Excel file rather then to get some useful summary. Report is pretty simple SQL-wise but because of load and probably rendering time it time out on the server. I don't have any option to change time out value on server.
What is good way to solve this task: i.e. to create 40mB Excel for user via subscription or posting.
All SQL performance attempts already exhausted. Should I move to SSIS which I think can handle such task.
I'm on SSRS 2016
Thanks
Mario

SSRS Subscription strategies

I'm hoping someone with a little more experience than me will know a better way to schedule SSRS reports.
Here is my situation: I have a report on my SSRS report server which takes about a minute to run. I have about a dozen subscriptions setup on the report which cause it output into an excel file on a network drive every hour. About a dozen users check this file regularly, as it contains an queue of work that's come in from their helpdesk.
I believe the users are leaving the file open in Excel, because periodically the files starts locking and I get these errors:
Failure writing file : The process cannot access the file
'' because it is being used by another process.
Even though I've told them all to make copies of the file and only open it locally, they still are having trouble with this.
It seems like a natural way to use SSRS, but because of human tendencies, it is not really working. Is there a better way to do this?

SSRS and a report of 3,000,000 rows

I have SQL Server 2008 R2 with SSRS. I have created an SSRS report that may contain up to 3,000,000 rows.
When I tried to generate such huge report I saw the following picture:
The stored procedure (one that brings the data into the Report) worked 50 seconds
After this the SSRS ReportingServivesService.exe started to consume a lot of memory. It's Working Set grew up to 11 GB. It took 6 minutes; and then the report generation failed with the following error message:
An error has occurred during report processing. (rsProcessingAborted)
There is not enough space on the disk.
“There is not enough space on the disk.” – this was probably about the disk drive on that server where the Windows page file was mapped into. The drive had 14 GB of free space.
A NOTE: the report was not designed as a single-page report. It is divided on pages by 40 rows. When I try to generate the same report with 10,000 rows – it takes just 1 minute.
The question is: can this be fixed somehow?
SSRS is extremely ill-suited for this kind of scenario. Tools like BCP or SSIS seem much more suited to this task. The question you ask ("can my situation be fixed") is not quite answerable, apart from being answerable by you by demonstrating that it can be done.
In my experience though, I wouldn't think of trying to get 3 million rows to work in SSRS.
If you insist or are compelled to try anyways, here's a few things you can do to improve the situation:
Dive in to the rdl and remove everything you don't need: font instructions, dimensions, images, etc. Check regularly in the designer if the file is still valid. You could even consider rebuilding the report with as little extra features as possible.
Move any expression or dynamic ssrs bit to the query.
Remove all formatting and formats for cells.
Increase disk en memory space. If you are compelled to generate such big reports in SSRS you're gonna need it. Close any other application you can, your PC or Server's gonna need all the resources it can get for this. Normally I'd consider this a non option / as an indication you need different tooling though. But I'm beginning to sound like a broken record :)
Choose the export format wisely. Excel or PDF is gonna take many additional resources, e.g. CSV renderer will be much friendlier.

MS Access 2010 Report Design Very slow

I have a MS Access 2010 DB with bunch of forms,queries ,macros, Reports etc
The data for my report comes from ODBC links to SQL Server 2000 Tables via linked table property.
Now, whenever i goto design mode of a report,Everything moves painfully slow (I have to wait atleast half a minute for every mouse click,or to select a text box , or any operation performed on the report)
The report itself takes about a minute to run.Which i dont mind.
All I am looking for, is a quicker way to make changes to the design of reports.
This is an old question, but I had a similar issue with form design running extremely slowly recently. For me, only one form seemed to be affected (all others ran fine in design mode). The record source for the form was a complex query built on a hierarchy of subqueries. I dumped the query results into a table and used the table as the record source for the form instead of the query. This appears to have resolved the issue. Hope this helps someone else.
I found the main cause to be the Access conversion program that converted 2003 format to 2010. If you create a new .accdb and then import all of your object, it should work OK. I definitely fixed my issues
What worked for me is based on the answer provided by Albert Kallal at http://www.utteraccess.com/forum/lofiversion/index.php/t1959800.html.
For me, in my split database, if I open any table that is linked to the backend then opening any frontend form or subform was very quick. If I do not have open and keep open a linked table, then it takes about 20 seconds to switch from Form View to Design View and another 20 seconds to open a subform, etc. When I have a linked table open (it does not matter which table, just any table linked to the backend), then it takes about 1 second to do any of those functions. Huge difference!
That is not normal. Something is wrong. Could be your Office/Access installation, your OS installation, something taking up too much of the system CPU, or your system just not having resources, like memory, to properly run Access. Or that your DB is corrupted and/or bloated.
Two tests you can try.
First, do a compact/repair on the DB and see if that fixes it.
Second, is to start your computer in Safe Mode and see if Access still runs slow. This will test for much of the above issues.
What worked for me was to change the subdatasheet name from 'auto' to 'none' on all local tables. Do this in the property sheet in table design mode. There are routines posted elsewhere that will find all your local tables and change this value.
A table was linked to an Excel file. I found that when the Excel file was open, it took forever to change to design view on ANY form. Closing the Excel file eliminated my problem!
My case is access work fine in every function except opening or designing report. But access can work fine when network disconnect. I found it's cause by printer share by other computer and the computer which was removed. I remove the printer from control panel and access can work smoothly.

MS Access Report to Crystal Report in .net windows application?

I have MS Access reports that needs to be displayed in a crystal report in .net windows application. Is there any way to do it or some alternatives?
I am not sure about the right approach to complete this, can anybody help here?
Hum, I don’t think this is possible. I not aware that access reports can be converted or transferred to crystal reports anyway.
Remember, access reports have event code, and even can have code run in the report for EACH line of detail that displays. In other works, not only are access reports amazing, but they are fully programmable with VBA code embedded INSIDE of the report.
Because of this issue, you need ms-access running and loaded for those reports to work correctly (the VBA is required, and functions, and also that of sql queries..of which a report can be based on SEVERAL data sources and several tables all at the SAME TIME).
Even more worry is that there is not any kind of code or report converter here from ms-access to crystal reports. So, you never could in any way easy way transfer reports from ms-access to crystal reports.
You could attempt to embed ms-access as a com object, but all kinds of problems like page numbering etc. can’t really be controlled here if the report is to appear inside of the crystal report.
I STRONLY recommend that if you need some reports in crystal reports, then have the appropriate reports built in crystal and you avoid this whole mess. And, you avoid having ms-access in the mix. Or, dump crystal, and only use ms-access here.
Attempting to embed word, excel, pdf, or other com objects such as ms-access inside of some crystal report is formula for VERY unreliable applications. This is likely not possible, but even if it was, I would not let loose an application of this type. Heck, embedding pdf’s in a access report can’t even reliable work (they break after some stupid pdf update gets issued automatic). This type of mixed up systems near guarantee break when one or the other system has some automatic update occurring!
You start mixing up several applications and it will cost you buckets support trying to keep that mess running.
If you MUST take different reports from several different systems, then send out all the reports to pdf, and then use some pdf tools to combine them into one final pdf document.
Don’t try t mix reporting systems at the application level. It not reliable even if this was possible..