Further to a previous post about reports being blank on Chrome (Report doesn't show on Chrome), I've recently come across a similar issue but on Internet Explorer.
The combination that causes the problem though is Windows 8 and IE 10 - you still get the parameter boxes, and navigation buttons, but the rest of the report is completely blank, and running or refreshing the report doesn't even give the spinning "Loading" window.
Turns out this is actually very easy to fix - you just need to view the reports in compatibility mode.
Two ways to do this - one to check if this does fix it, and one to set it permanently.
Check mode
Hit F12 - brings up a dev tools window in bottom of browser.
On the bar should be "Browser Mode: IE10"
Click on this and select "Internet Explorer 10 Compatibility Mode"
This should automatically refresh the report screen - and hopefully the report will now display.
Set permanently
Open IE and open one of the reports that doesn't display
To set the compatibility mode for the site, firstly ignore the Microsoft guff about seeing a little torn-page icon in the address bar - never seen it myself, although feel free to click that first if it's there for you
Hit ALT - this opens a hidden menu bar at the top of the browser window (with File / Edit / Tools / etc.)
Select "Tools", then select "Compatibility View Settings"
You site address should now be shown next to a "Add this website" comment - so hit "Add" and then "Close"
Refresh the page and you should see your report magically appear :)
Of course, if you are using Chrome, you are still in trouble!
Showing posts with label SSRS. Show all posts
Showing posts with label SSRS. Show all posts
Friday, 27 September 2013
Tuesday, 23 October 2012
What reports are being read in SSRS
If you want to check which reports are being run (or not) in SSRS, or details about which users are running reports, you can pull this information from the ReportServer database.
If you need to check you are on the right database, you can check the SSRS machine name and instance the ReportServer database relates to by running:
SELECT
MachineName,
InstanceName
FROM Keys
WHERE Client = 1
Now to find out who's being doing what ... and SQL keeps it all nicely for us in the table "ExecutionLog".
You need to join this back to Catalog to get the report names / paths, but you can then easily start to get information on the most frequently run reports, which users are running certain reports, or even which reports are slow to render.
E.g. to get details on how often a report is run:
SELECT c.Name, c.path , count(*) as 'ReportRun'
FROM ExecutionLog e
JOIN Catalog c on e.ReportID = c.ItemID
GROUP BY c.Path, c.Name
to find out which users are running a certain report:
SELECT userName, COUNT(*)
FROM ExecutionLog e
JOIN CATALOG c ON e.ReportID = c.ItemID
WHERE c.Name = 'ReportName'
GROUP BY e.UserName
I'm sure you can find other details to pull out of this table that may prove useful.
NOTE!
By default the retention period for the ExecutionLog table is 60 days. However this is also adjustable by updating the ConfigurationInfo table for the ExecutionLogDaysKept row. Set the number of days, or use "0" to keep data indefinitely.
E.g.
UPDATE ConfigurationInfo
SET VALUE = '-1'
WHERE Name = 'ExecutionLogDaysKept'
NOTE - Ignore books online which says this should be set to 0 - if you look at the clean up proc in the ReportServer database, namely ExpireExecutionLogEntries, you can see it actually only leaves the data if the value is set to -1, and not 0.
I would also recommend you download the SSRS Reports Dashboard. This plugs into SSMS and once installed, you just right click on a ReportServer database, and it gives you access to all sorts of info relating to the relevant SSRS instance.
Wednesday, 19 September 2012
SQL 2008 R2 Reporting Services won't restart after SP2
Seems a few people have encountered a problem with SSRS 2008 R2 after installing SP2.
In my case the SSRS instance would not restart, so I checked Event Viewer.
There were no messages at all under the Application log, and all the system log stated was:
Timeout (30000 milliseconds) waiting for the SQL Server Reporting Services (Grumpy) service to connect.
I tried changing the account that SSRS was running under, but it would still not restart, and I was considering un-installing SP2 (KB 948109).
A bit more investigating though, and there didn't seem to actually be any error from SSRS, so I tried changing the service startup timeout value to 60 seconds.
This time SSRS started successfully (albeit slowly). It did require me to backup the encryption key file, but I think that is more likely to have been related to playing around with the account it was running under rather than the timeout change.
The post I found that details changing the timeout is as follows:
In my case the SSRS instance would not restart, so I checked Event Viewer.
There were no messages at all under the Application log, and all the system log stated was:
Timeout (30000 milliseconds) waiting for the SQL Server Reporting Services (Grumpy) service to connect.
I tried changing the account that SSRS was running under, but it would still not restart, and I was considering un-installing SP2 (KB 948109).
A bit more investigating though, and there didn't seem to actually be any error from SSRS, so I tried changing the service startup timeout value to 60 seconds.
This time SSRS started successfully (albeit slowly). It did require me to backup the encryption key file, but I think that is more likely to have been related to playing around with the account it was running under rather than the timeout change.
The post I found that details changing the timeout is as follows:
- To increase the timeout value in the registry, follow these steps:
- Start Registry Editor (Regedit.exe).
- To change the value data for the ServicesPipeTimeout DWORD value to 60000 in the Control key, follow these steps:
- Locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
- Click the Control subkey
- Right-click the ServicesPipeTimeout DWORD value, and then click Modify.
- Click Decimal.
- Type 60000, and then click OK.
- Locate and then click the following registry key:
- If the ServicesPipeTimeout value is not available, add the new DWORD value, and then set its value data to 60000 in the Control key. To do so, follow these steps:
- Locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
- Click the Control subkey.
- On the Edit menu, point to New, and then click DWORD Value.
- Type ServicesPipeTimeout, and then press ENTER.
- Right-click the ServicesPipeTimeout DWORD value, and then click Modify.
- Click Decimal.
- Type a value of 60000, and then click OK.
The value is 60000 milliseconds and is equivalent to 60 seconds or to one minute.
- Locate and then click the following registry key:
Wednesday, 8 February 2012
SSRS 2008 R2 - Reports are blank on Chrome
There is a frustrating issue with SQL 2008 R2 Reporting Services when rendering on Chrome (and Safari) - in that they simply display a completely blank screen.
After eventually convincing the users in question that it wasn't SQL's fault, or a problem with the report definition, since they displayed fine on internet explorer, I set about tracking down a fix.
There doesn't seem to be a lot of documentation out there on this problem at the moment, and the only place I found anything helpful was here: StackOverflow
Basically though, you need to update the ReportingServices.js file on the report server, as Chrome & Safari render a certain type of element in a slightly different way to IE.
FIX
Connect to your Reporting Services server, and find the relevant ReportingServices.js file - this will probably be somewhere like "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js", or on a 64 bit machine, "C:\Program Files (x86)\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js"
First up, take a copy of this file - let's not be silly here and assume this is a 100% foolproof solution!
Next, edit this file in notepad. Do a quick search for PageLoad, to ensure no-one else has alreadyhacked applied this fix, then jump to the bottom of the existing text.
Simply append the following code:
Save the file, and restart Reporting Services - you should now find that Chrome displays your reports again.
ADDITIONAL - if you have a problem getting reports to show up on IE 10 on Windows 8, it may be this fix you need instead: SSRS Reports blank on Windows 8
UPDATE: the following combination of ctl codes seems to work on later versions :
After eventually convincing the users in question that it wasn't SQL's fault, or a problem with the report definition, since they displayed fine on internet explorer, I set about tracking down a fix.
There doesn't seem to be a lot of documentation out there on this problem at the moment, and the only place I found anything helpful was here: StackOverflow
Basically though, you need to update the ReportingServices.js file on the report server, as Chrome & Safari render a certain type of element in a slightly different way to IE.
FIX
Connect to your Reporting Services server, and find the relevant ReportingServices.js file - this will probably be somewhere like "C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js", or on a 64 bit machine, "C:\Program Files (x86)\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager\js\ReportingServices.js"
First up, take a copy of this file - let's not be silly here and assume this is a 100% foolproof solution!
Next, edit this file in notepad. Do a quick search for PageLoad, to ensure no-one else has already
Simply append the following code:
| function pageLoad() { var element = document.getElementById("ctl31_ctl10"); if (element) { element.style.overflow = "visible"; } } |
Save the file, and restart Reporting Services - you should now find that Chrome displays your reports again.
ADDITIONAL - if you have a problem getting reports to show up on IE 10 on Windows 8, it may be this fix you need instead: SSRS Reports blank on Windows 8
UPDATE: the following combination of ctl codes seems to work on later versions :
| function pageLoad() { var element = document.getElementById("ctl32_ctl09"); if (element) { element.style.overflow = "visible"; } } |
Subscribe to:
Posts (Atom)