SCOM 2012:SQL 查询以查找组的目标管理包

SCOM 2012: SQL query to find the destination management pack for a group

我试图通过查询 OperationsManager 数据库找出现有组的目标管理包。我希望堆栈上的人已经解决了这个问题。

有两种不同的情况。如果组是在控制台中手动创建的,那么它是一个单例 class,而 class 就是组本身。所以,比如说,删除它的 MP 你就删除了这个组。

另一种情况是定义了组class,但没有标记为单例。在这种情况下,必须有一个发现可以找到该组的零个或多个实例。在这种情况下,您不能删除单个组实例(只有发现可以这样做)。但是,如果您删除定义了组 class 的 MP,那么您将删除所有组实例。

使用以下查询查找定义了 group/group class 的 MP。该查询还显示组 class 是否为单例。

select bme.DisplayName, mp.MPName, mp.MPFriendlyName, mt.IsSingleton
  from BaseManagedEntity bme
  join TypedManagedEntity tme on tme.BaseManagedEntityId = bme.BaseManagedEntityId
  join ManagedType mt on mt.ManagedTypeId = tme.ManagedTypeId
  join ManagementPack mp on mp.ManagementPackId = mt.ManagementPackId
  where DisplayName = '<group display name>'

请注意。在控制台中具有多个实例的组显示为 "Class Discplay Name/Group Instance Name"。仅用于查询目的 "Group Instance Name".