Configuration Manager 中的 SMS 提供程序 WMI 架构引用

Configuration Manager 使用 Windows Management Instrumentation (WMI) 来管理其对象。 任何托管对象(如磁盘驱动器或计算机集合)都可以由 Configuration Manager 类的实例表示。 Configuration Manager还包括表示功能(如软件部署或软件更新)的类。 这些Configuration Manager类共同构成 SMS 提供程序 WMI 架构。

Configuration Manager使用SQL Server数据库来存储托管对象数据。 SQL Server和 WMI 都可用于查看Configuration Manager托管数据。 在 Configuration Manager 控制台中创建的新查询或集合使用 WMI 查询语言 (WQL) 查询从 SMS 提供程序 WMI 架构请求Configuration Manager对象数据,后者反过来又从站点数据库检索数据。 在 Configuration Manager 创建自定义报表时,报表 SQL 语句从站点数据库中的 SQL 视图检索Configuration Manager对象数据,然后从一个或多个 SQL 视图或表中检索数据。

SQL 视图和 SMS 提供程序 WMI 架构关系

Configuration Manager使用的许多 SQL 视图和视图列名称设计为尽可能接近 SMS 提供程序 WMI 架构。 其他 SQL 视图从其他视图或多个表或视图中检索数据,并且没有直接映射到 SMS 提供程序 WMI 架构。 此外,由于 SQL 视图和视图列名称必须是有效的 SQL 标识符,因此存在映射时,WMI 和 SQL 名称之间存在一些差异。 在大多数情况下,可以应用以下常规规则将 WMI 类名转换为其相应的 SQL 视图:

  • 在视图名称的开头, v_ 替换 SMS_
  • 如果视图名称的长度超过 30 个字符,则会将其截断。
  • 在清单或发现类的视图中,WMI 属性名称相同。

例如,如果要将 WMI 类 SMS_Advertisement 转换为关联的 SQL 视图,可以删除 SMS_ 并将其替换为 v_,从而生成相应的 视图名称v_Advertisement

SQL 视图查询

    SELECT AdvertisementID, PackageID, CollectionID, SourceSite 
    FROM v_Advertisement 

在此示例中,查询返回以下行。

AdvertismentID PackageID CollectionID SourceSite
MCM20000 MCM00003 SMS00001 MCM
MCM20001 MCM00002 SMS00004 MCM
MCM20002 MCM00006 SMS00001 MCM

WQL 查询

    SELECT AdvertisementID, PackageID, CollectionID, SourceSite 
    FROM SMS_Advertisement 

在此示例中,查询返回与上述 SQL 视图查询相同的行。

Configuration Manager SQL 视图设计

如果 SQL 视图和 SMS 提供程序 WMI 架构类没有直接映射,并且你想要确定 SQL 视图中数据的来源,则可以查看 SQL 视图设计。 这有助于确定 SQL 视图是从单个 SQL 表、另一个 SQL 视图还是从多个表或视图检索数据。 当 SQL 视图从多个表或视图中检索数据时,SQL 视图很可能映射到 SMS 提供程序 WMI 架构中的多个类。 使用以下过程显示 SQL 视图设计。

警告

请勿修改内置Configuration Manager SQL 视图的设计,因为这可能会在报告和网站功能中造成错误。

显示 SQL 视图设计

  1. 在托管Configuration Manager站点数据库的服务器上启动Microsoft SQL Server Management Studio。
  2. 导航到<计算机名称>\ 数据库 \<Configuration Manager数据库名称>\ 视图
  3. 右键单击要在其中查看设计的 SQL 视图,然后选择“ 设计”。 “SQL”窗格显示 SQL 语句。 查看 FROM 子句后面的表或视图名称,以确定视图检索其数据的位置。 当视图从多个源检索数据时,表或视图将使用 JOINS。

另请参阅

Configuration Manager Configuration Manager报表的 WMI 命名空间和类