SomaFM commercial free internet radio All posts tagged 'SQL-Server-Reporting-Services-'

Paul Sturm

My notebook of discovered facts

Service Unavailable on SQL Services Reporting Services after Microsoft Patch

Last night, my SSRS server failed on the first access attempt after Multiple Windows patches were installed by WSUS overnight (SQL Server 2005 EE, Windows 2003 SP2). This is not a critical server for me so it doesn't get tested before patches are applied. As such, it gets all patches immediately without testing and, in fact, is a test for such patches for me. Production servers have to be approved by hand after my test servers pass.

Starting off in the Event Viewer > System, I'd see 5 W3SVC warning [a] and followed by a W3SVC failure [b]. Evidently, the rapid fail mechanism in IIS6 was shutting me down.

  • [a] 5 times: Event ID 1009; Source W3SVC; A process serving application pool 'DefaultAppPool' terminated unexpectedly. The process id was 'xxxx'. The process exit code was '0xffffffff'.
  • [b] 1 time: Event ID 1002; Source W3SVC; Application pool 'xxxxxx' is being automatically disabled due to a series of failures in the process(es) serving that application pool.

Restarting application pools would just duplicate the same series of events.

Looking in the Event Viewer > System, I examined which patches were applied overnight

  • KB974318
  • KB973904
  • KB971737
  • KB973917
  • KB974392
  • KB976325-IE8
  • KB955759

KB973917 is 'a non-security update that implements Extended Protection for Authentication in Internet Information Services (IIS).'

After reviewing each knowledge base article, I located a known issue for KB973917 that described my issue perfectly: 'Internet Information Services 6.0 may not function correctly after installing KB973917'. The solution is to reinstall SP2 for your Windows 2003 server. Per Microsoft, 'Reinstalling the KB973917 update should not be necessary'.

If you want to enable the features this update provides, view here: 'http://www.microsoft.com/technet/security/advisory/973811.mspx'

To Microsoft's credit, this is the first patch to cause a problem for me in over 3 years.


Permalink | Comments (218) | Post RSSRSS comment feed

SSRS Formatting subtotals in a matrix

If you need to make your subtotals look different than your data, it's not very apparent how to do so. I've found 2 ways. 

You can conditional format the data cell and the results will affect the subtotals.  The trick is to use INSCOPE.  What you are going to do is check and see if the cell is in the scope of your group.  First you will need the name of the group (right-click on the first field of the detail row and choose "Edit Group", you'll find the name there). In my case, the group name is "matrix1_Market_Name".  Then you need to edit the cell you want to format the subtotal on, choose expression for font weight:

=iif(inscope("matrix1_Market_Name"), "Normal","Bold")

This will make the subtotals bold while the data will be normal.  You can conditionally format anything like that. Here is font size:

=iif(inscope("matrix1_Market_Name"), "10pt","12pt")

You could do much more sophisticated stuff like change colors based on cell value with different criteria for the data and subtotal cells.

I've showed you the hard way, there is an alternate way which is much simpler. It not very apparent. If you right-click on the small green triangle in the subtotal label cell, then select properties the properties window is actually for the subtotal cell, not the label.


Permalink | Comments (10) | Post RSSRSS comment feed

Custom colors (or defined colors) in charts in SSRS

I needed specific colors for specific values on a pie chart in SSRS. We were charting work requests in a month. Each job had one of four states: completed, missed, pending and due today.  I wanted to color code those values to dark green, red, lime and orange respectivly.  The existing color palette (and options) was not going to get it done.  Here is how I accomplished it:

 Chart properties > Data > element in values > Edit > Appearance tab > Series Style button > Fill tab > color function builder

=Switch(
Fields!Schedule_Status.Value = "completed", "dark green"
,
Fields!Schedule_Status.Value="missed","red"
,
Fields!Schedule_Status.Value="pending","lime"
,
Fields!Schedule_Status.Value="due today","orange" )

This will only work for a chart with known values but, in this case, I will never have anything more that four slices so defining each is simple enough.  If you don't know exactly all of your options, this technique isn't going to work for you.

Since the feeding query is a view into the tables which defines the status label (Schedule_Status in this case), I am thinking I might have the view supply the color as well so I don't have to change all the color properties in numerious reports if another state was added in the future like "missed > 30 days".  The color properties could then use the view to feed the color to the charts. hmm... 

I was making it far too hard by trying to follow the example in Microsofts white paper on custom paletts


Permalink | Comments (20) | Post RSSRSS comment feed