With our data warehouse approaching the 150 GB limit, I decided it was time to check if everything was ok with it. Obviously there’s very sparse documentation on the inner workings of this important module of SCOM. I must say as usual. In the next few posts I’d like to share with you what I found and the general debugging process for the DW.
But, first of all, I want to make you know that the Windows 2008 KMS MP simply doesn’t groom its data. The MP defines a new data set “KMSEvent” with no aggregation interval, basically we’re talking about events. Alas the MP author simply missed to develop a proper grooming stored procedure. The MP defines this way the new dataset
,ISNULL(CAST(NULLIF(‘$Config/Storage/DataFileGroupName$’, ”) AS sysname), ‘default’)
,ISNULL(CAST(NULLIF(‘$Config/Storage/IndexFileGroupName$’, ”) AS sysname), ‘default’)
Which in turn lead to this row in StandardDataSetAggregation
If you turn on debugging (more on this in the next post) you’ll get this error:
“Failed to groom data for standard data set. Error 2812, Procedure StandardDatasetGroom, Line 146, Message: Could not find stored procedure ‘KMS_EventGroom’.”
Alas this stored procedure doesn’t exist in the MP. Digging into it I found a similar named stored procedure but it has a bad parameter signature, i.e. it cannot be substituted to KMS_EventGroom, more over it is not referenced anywhere in the MP, so from my analysis it’s defined but not used.
CREATE PROC dbo.KMS_Grooming @groomdays int=90
SET NOCOUNT ON
declare @Now datetime
declare @Today datetime
declare @TodayMinusX datetime
set @Now = getUTCdate()