Thursday, April 14, 2011

EventID 31552 in OpsMgr event log of RMS and perfmon Reports fail to show data…

Bumped into this issue a couple of times. Even blogged about it before, to be found here. The issue caused my hair – the little bit that remained – to fall out because it wasn’t a very nice situation at all. Every time, the same culprit was found: the Exchange 2010 Reporting MP.

So why blog about it again? Well I have seen situations when you upgrade to the newest version of the Exchange 2010 MP you might bump into the same EventID and situation as well. Unlike the previous posting, this time I will share the Stored Procedure required to get it all running again.

BUT… be careful AND run it only when you know what you’re doing. When in doubt, open a case with PSS. And even when you decide to run the SP, be sure to BACK UP both databases (OpsMgr & Data Warehouse) so there is a way back. Why backing up both databases when you run the SP only against the DW? When a restore is required and you only restore the DW, the OpsMgr and DW will be out of sync. So it’s always better to backup BOTH databases and restore the BOTH of them as well.

A small recap of my previous posting:

The Issue
The performance Reports turn up empty or show no data from a certain date, point in time until present. And this behavior will continue, meaning that when you don’t act the performance Reports won’t show recent data at all. Reports which are affected are generally the performance reports, like the ones from the Windows Server OS Reports. Other performance Reports are affected as well.

When investigating, the OpsMgr event log of the RMS will show many times EventID 31552:
image

Hmm. The message Failed to store data in the Data Warehouse tells a lot. The Instance name (Microsoft.Exchange.2010.Reports.Dataset.Availability) tells me exactly what Dataset is being problematic.

The Cause
As it turns out, data aggregation for Exchange 2010 isn’t working as it should. Danielle Grandini blogged about it in detail. Because of this the performance Reports end up empty. Like stated before, data inserted into the Data Warehouse goes through a series of processes:
image

So the data is present but not ready for consumption by the Reports.

The Solution/Work Around 
Removing any MP won’t remove any dataset from the Data Warehouse. The same goes for the Exchange 2010 Reporting MP. So removing it won’t remove the Dataset. Thus the performance Reports will still end up empty. So when the culprit has been removed a Stored Procedure must be ran against the Data Warehouse (DW) in order to get the flow of data running again in the Data Warehouse.

This is the SP you need to run against the DW:

USE OperationsManagerDW
DECLARE @DatasetId uniqueidentifier
SELECT @DatasetId = DatasetId FROM Dataset WHERE DatasetDefaultName = 'Microsoft.Exchange.2010.Reports.Dataset.Availability'
EXEC StandardDatasetDelete
@DatasetId = @DatasetId

Some explanations are at order here:

  • The name after USE is the name of the Data Warehouse database, which is by default OperationsManagerDW. When your DW has another name, change it accordingly in the SP;
  • The name of the dataset is in blue. When EventID 31552 shows another dataset, adjust it in the SP accordingly.

Like stated in the previous posting, after this the data came back in the Performance Reports (it took about 12 to 15 hours for the Reports to catch up). When the Reports were OK again, I imported the Exchange 2010 MP but left out the Reporting MP part of it. Until now all is well.

I hope that the latest Exchange 2010 Report MP does not have this issue. Still testing it.

18 comments:

devi said...

Hi Marnix,

I have got the same event 31552 agains exchange 2010 reports dataset.

So i just have to run the below SP


USE OperationsManagerDW
DECLARE @DatasetId uniqueidentifier
SELECT @DatasetId = DatasetId FROM Dataset WHERE DatasetDefaultName = 'Microsoft.Exchange.2010.Reports.Dataset.Availability'
EXEC StandardDatasetDelete
@DatasetId = @DatasetId

please clarify.

Thanks
Devi

Marnix Wolf said...

Hi Devi.

Only when you experience this issue AND the error refers to that dataset AND you have removed the Exhange 2010 Reports MP first.

Cheers,
Marnix

devi said...

Hi Marnix,

I have updated exchange 2010 MP reports. after a week i started to get this alerts.

So can i try this? or have to remove the exchange 2010 MP reports first and then try

Please clarify

Thanks
Devi

Marnix Wolf said...

Hi Devi.

In this case I would remove the Exchange 2010 Reports MP, run the procedure.

Then check if the errors are gone indeed.

Then after a few days, reimport the Exchange 2010 Reports MP and see if the errors stay away indeed.

Cheers,
Marnix

Donald D'souza said...

Hi Marnix

I had similar issue in my environment and I have deleted the MP and ran the SP. Again I have imported the Exchange Reporting MP but it giving the below error for Microsoft.Exchange.2010.Reports.SLA

An error has occurred during report processing.
Query execution failed for data set 'OutageBreakdown'.
Invalid object name 'Exchange2010.vAvailabilityOnObjectDailyV14'. The statement has been terminated.

Any suggestion on this?

Marnix Wolf said...

Hi Donald.

It seems like the required data set is missing. How much time was there between deleting the mp, running the sp and importing the mo again?

Cheers,
Marnix

Donald D'souza said...

1. Deleted the Microsoft.Exchange.2010.Reports MP
2. After 5 minutes Run the SP
3.After 1 day again imported the MP again.

Marnix Wolf said...

Hi Donald.

Is the error still there? Normally all datasets should be (re)created when the Reporting MP is imported.

\Marnix

Donald D'souza said...


Yes the error still there.

Is there anything else you can suggest to resolve this issue

Marnix Wolf said...

Hi Donald.

You could try to remove the WHOLE Ex 2010 MP (so monitoring AND reporting AND overrides (export them first), wait for one day and import it again.

I've worked a lot with this MP but never bumped into this issue.

Cheers,
Marnix

Donald D'souza said...

As we are monitoring many customers I cannot delete the Exchange 2010 MP and reimport it. Any other suggestion without touching the Exchange 2010 monitoring MP

Marnix Wolf said...

I already thought that much. I've your personal details and will contact you through that.

Talk to you later.

Cheers,
Marnix

Daniel said...

Hi Marnix,

We bumped into a issue recently were in the CAS Exchange reports are being displayed with no data and with an incorrect Report duration. We could find many 31552 events in RMS for the datatset "Microsoft.Exchange.2010.Reports.Dataset.Availability".

could we perform the above mentioned steps to resolve the issue.
Regards,
Jesty

Marnix Wolf said...

Hi Daniel.

Yes, you COULD do it. However when in doubt contact CSS. Simply because when done wrong it could harm your SCOM environment BIG time. So be carefull.

Daniel said...

Hi Marnix,
I have learnt that the SLA Report in Exchange 2010 MP is bugged. Could you please let me know if there is any bug with the CAS or other Reports.
Kindly assist.

Daniel said...

Hi Marnix,

If there any way to edit the Report duration in the report as it shows 2001 instead of the present date.

Marnix Wolf said...

Hi Daniel.

Normally the report parameter aera should aid you there. It's a small icon top left of the rendered report.

Cheers,
Marnix

Marnix Wolf said...

Hi Daniel.

As far as I know there aren't bugs in those reports. Having said that please don't forget when there are issues in your DW database, used for SCOM reporting, it will reflect in your reports as well.

Cheers
Marnix