I think we all used these Kevin Holman queries to handle the config churn in our environment. But what if you still have config churn issues, but don’t see any issues with these queries.
We still had config churn, but running the queries form Kevin Holman did not point us to the reason for those config churns. But we got some information with a support case.
First we can retrieve exact what is changed, using this query (run on against de data warehouse database):
use OperationsManagerDW
goselect * from dbo.ManagedEntityProperty
where DWCreatedDateTime > dateadd(hh,-24,getutcdate())
order by DWCreatedDateTime, ManagedEntityRowId
This will result in output similar to this:
It will give you all properties that are changed within the last 24 hours and what exactly is changed. Now when you “click” on a PropertyXML value or DeltaXml, a new windows will be opened showing you exact which properties there are and which are changed.
But now we don’t have any idea were to find this in a management pack, but we will get there. From the above output, take the ManagedEntityRowId and place this in the next query:
use OperationsManagerDW
goselect * from ManagedEntity
where ManagedEntityRowId = 121403
This will result in output similar to this:
The ManagedEntityGuid is what we need here. Place it in the next query (which will run against the operations database):
use OperationsManager
goselect * from BaseManagedEntity
where BaseManagedEntityId = ‘3B9F6E60-02B5-8369-859F-8047093CE33F‘
The result is:
The next thing we need is the BaseManagedTypeId
use OperationsManager
go
select * from ManagedType
where ManagedTYpeId = ‘10C1C7F7-BA0F-5F9B-C74A-79A891170934‘
Which results in:
Here you can find the TypeName that is discovered (Microsoft.SQLServer.Database in this case). Use the ManagementPackId to get the actual management pack:
Use OperationsManager
Go
Select * from ManagementPack where ManagementPackId = ‘BCD6DCCF-C46C-A1F5-3C8D-BB4E99E2A6A3‘
And the final result will be:
So we now know that the property is of type “Microsoft.SQLServer.Database” and that it is discovered in the “Microsoft.SQLServer.Library” management pack (aka “Microsoft SQL Server Core Library”).
Note that if you are only interested in the actual management pack name, you can also use this query (which uses the ManagedEntityGuid from the first query against the operations database):
use OperationsManager
Select * from ManagementPack
where ManagementPackId = (
select ManagementPackId from ManagedType
where ManagedTYpeId = (select BaseManagedTypeId from BaseManagedEntity
where BaseManagedEntityId = ‘3B9F6E60-02B5-8369-859F-8047093CE33F‘
)
)
This will result in the same output as the last screenshot (but now you don’t know the type for the data). When you have this information, you can look up the corresponding discoveries so you can fine tune them if required.