v_collection sql视图显示站点的Configuration Manager集合的最重要属性。
V_Collection View是引用Configuration Manage对象的几个视图之一。类似的视图包括v_advertisement,v_package和v_report。视图的命名约定通常根据以下规则映射到相应的WMI类:
WMI类名以SMS_开头,SQL视图名称以V或V_开头。
查看超过30个字符的名称被截断。
WMI属性名与SQL视图中的字段名相同。
站点属性
基本配置管理器站点属性存储在站点表中,并在几个视图和存储过程中公开。例如,v_site显示当前站点及其子站点的基本配置。sysreslist表存储有关站点系统的信息。从站点和sysreslist表中检索数据的存储过程的示例是mp_getmplistforsite,其显示该站点的管理点信息。SMSData表包括通过V_IDENTIFICE公开的其他网站详细信息。
到目前为止讨论的表和视图与Configuration Manager对象和基础结构有关。该数据库还包含由各种发现方法和客户机清单收集的大量数据。第12章讨论了发现和目录。发现和库存数据存储在资源表中,并显示在资源视图中。资源视图的命名约定如下:
显示当前库存数据的视图名为v_gs_ <组的名字>。
显示清单历史数据的视图名为v_hs_ <组的名字>。
包含发现数据的视图名为v_r_ <资源类型名称>用于WMI标量属性和v_ra_ <建筑名称> _ <组的名字>有关WMI数组属性中包含的数据。
自定义体系结构的库存数据以名为v_g <资源类型数> _ <组的名字>和v_h <资源类型数> _ <组的名字>。在第7章“测试和稳定”中描述了自定义架构的使用。
其他观点
包含几个视图,在其他视图上存在元数据,并用作理解视图模式的键。v_schemaviews视图,显示在图3.39,列出了视图模式族中的视图,并显示了每个视图的类型。
v_schemaviews提供了Configuration Manager视图的列表和分类。
下面的SQL语句生成了V_SchemaViews视图:
创建视图(dbo)。[v_SchemaViews] SELECT CASE WHEN name like ' v[_]RA[_]% ' THEN ' Resource Array ' WHEN name like ' v[_]R[_]% ' THEN ' Resource ' WHEN name like ' v[_]HS[_]% ' THEN ' Inventory History ' WHEN name like ' v[_]GS[_]% ' THEN ' Inventory ' WHEN name like ' v[_]CM[_]% ' THEN ' Collection ' WHEN name like ' % sum % ' THEN ' Status Summarizer ' WHEN name like ' %Stat% ' THEN' Status ' WHEN name like ' %Permission% ' THEN ' Security ' WHEN name like ' %Secured% ' THEN ' Security ' WHEN name like ' %Map% ' THEN ' Schema ' WHEN name = ' v_SchemaViews ' THEN ' Schema ' ELSE '其他' END As ' Type ', name As ' ViewName ' FROM sysobjects WHERE Type = ' V ' AND name like ' V [_]% '
如果检查SQL语句,则可以看到“案例”语句中的选择条件使用命名约定来确定每个视图的类型。
v_resouremap视图显示来自DiscoveryArchitectores表的数据,该表定义了表示发现数据的视图。表3.3显示v_resourcemap视图提供的数据。
表3.3 v_resourcemap视图
resourcetype. |
显示名称 |
ResourceClassName |
2 |
未知的系统 |
v_r_unknownsystem. |
3. |
用户组 |
v_r_usergroup. |
4 |
用户 |
v_R_User |
5 |
系统 |
v_r_system. |
6 |
IP网络 |
v_r_ipnetwork. |
configmgr在以下方式使用表3.3中的字段:
resourceType字段是在整个资源视图中使用的密钥,以将资源与相应的发现架构关联。
DisplayName字段是发现体系结构的描述性名称。
ResourceClassName表示包含每个发现的体系结构实例的基本识别信息的视图。
例如,v_r_system视图提供Configuration Manager发现的每个计算机系统的唯一资源ID以及基本系统属性,如NetBIOS名称,操作系统和AD域。包含系统信息的每个资源视图都包含资源ID字段,允许您使用所属的系统将诸如硬盘驱动器和网卡等资源链接。第18章使用资源ID讨论使用来自多个视图的数据创建报告。
显示的v_resoureceattributemap视图图3.40.呈现从Discovery属性定义数据中提取的资源属性类型在DiscPropertyDefs表中。
v_ResourceAttributeMap列出了在资源视图中使用的属性。
列名已附加“0” -CONFIGMGR开发团队将列名与“0”附加,以避免使用SQL保留单词的可能冲突。
v_GroupMap视图列出了与每个目录体系结构相关联的目录组和视图。表3.4显示了一些v_GroupMap表项。每个库存体系结构代表SMS_Def中为库存收集指定的WMI类。财政部文件。
表3.4 v_ GroupMap视图(部分列表)
表3.4中的每个条目指定资源类型,唯一的GroupID,呈现组数据的库存和库存历史记录视图,以及导出组的库存数据的管理信息格式(MIF)类。
v_groupattributemap列出了与每个库存组关联的属性,v_reportviewschema视图提供了所有类和属性的列表。
本节审查了Microsoft提供的几个SQL视图。您可以使用SQL Server Management Studio使用SQL Server Management Studio来了解ConfigMGR的内部结构来浏览您自己的数据库。您可能希望查看视图,底层表和一些存储过程ConfigMGR使用。本节中的示例展示了如何分析和理解这些对象。
请勿直接修改网站数据库 -站点数据库对您网站的运作至关重要。不要尝试创建,删除或修改任何数据库对象,或修改存储在数据库中的数据,除非Microsoft支持人员要求这样做。请记住在将它们应用于生产环境之前测试所有修改。
状态消息和日志
ConfigMgr 2007提供了两个内置机制,用于查看和故障排除配置管理器操作:
configmgr组件生成状态消息以报告里程碑活动和问题出现。系统管理员可以查看状态消息并在查询和报告中使用它们。您还可以配置状态消息系统以响应指定的状态消息来调用自动操作。
ConfigMgr组件生成大量日志,提供有关其活动的额外细节。
状态消息系统和日志记录都是高度可配置的,并在系统中提供有价值的窗口。
深入了解ConfigMgr的日志是深入了解ConfigMgr内部结构的最好方法。本章中的很多内容都来自分析日志文件。第21章介绍了配置状态消息系统。附录A,“配置管理器日志文件”详细讨论了各种ConfigMgr日志。附录A还提供了日志配置选项,用于捕获ConfigMgr组件操作的附加细节,包括SQL语句和网络抽象层(NAL)操作。本章的这一部分讨论了如何使用状态消息和日志查看Configuration Manager的内部工作。
ConfigMgr日志是文本文件,您可以在Windows记事本或您喜欢的文本编辑器中查看它们。然而,在SMS的早期版本中,最流行的工具之一是日志查看器工具(Trace32)。大多数管理员喜欢使用日志查看器而不是文本编辑器来显示日志文件。日志查看器的更新版本是ConfigMgr 2007 Toolkit的一部分。日志查看器格式化日志条目,提供搜索和突出显示功能,并提供错误查找。您可以选择打开自动刷新功能,以近乎实时地更新显示的登录。
日志文件显示了管理应用程序对短信提供程序的调用。日志查看器的底部窗格显示突出显示的日志条目的详细信息。中的条目图3.41显示用户SCCMUNLEASHED\管理员修改了类SMS_SCI_SiteDefinition的一个实例。SMS_SCI_SiteDefinition,在图3.42,提供存储在SiteControl表中的二进制数据的接口。
日志查看器中显示的Smsprov.log (Trace32)
CIM查看器中显示的SMS_SCI_SITEDEFINITION WMI类
配置管理器2007工具包-Microsoft的系统中心配置管理器2007工具包包含许多工具来帮助您管理和解决ConfigMgr 2007问题。Toolkit可从http://www.microsoft.com/downloads/details.aspx?familyid=948e477e-fd3b-4a09-9015-141683c7ad5f&displaylang=en(或去http://www.microsoft.com/downloads并搜索系统中心Configuration Manager 2007 Toolkit).
图3.41显示在日志查看器中显示的smsprov.log文件的一部分。
SMSProv.log文件稍后显示执行以下操作,该操作提交到数据库的更改:
execmethodasync:sms_sitecontolfile :: commitscf csspclassmanager :: prepallaction,dbname = sms_dal cextproviderclassObject :: doexecutemethod commitscf调用submerdeLascftodatabase for user = sccmunleashed \管理员,computer = wildflower,component = microsoft.configurationManagement.dll CSSpsiteControl :: commitscf - delta是创建的
日志文件提供了安全上下文设置和数据库连接的其他详细信息,此处不显示。
使用SQL Server Profiler允许您查看发送到SQL Server数据库的SQL请求。(有关SQL Server Profiler的信息,请参阅http://msdn.microsoft.com/en-us/library/ms187929.aspx.。)
使用SQL日志捕捉SQL活动-使用SQL分析器捕获SQL活动的替代方法是启用SQL日志记录,如附录A中所述。这将直接添加SQL命令的详细信息,以获取访问数据库的组件的日志。打开或关闭SQL日志记录要求您重新启动执行服务。
ConfigMGR组件发送的以下SQL命令显示将数据插入SiteControl表,数据库监视器从数据库中检索更改通知:
[SMS Provider]插入SiteControl(SiteCode,Typlag,SerialNumber,BinaryData)值(“DAL”,2,33,0x0)[SMS_DATABASE_NOTIFICATION_MONITOR] EXEC SPGGECHANGENOTIFICE
连接这两个事件的是什么是SiteControl表上的触发器。触发器是响应指定的数据修改事件而触发的特殊SQL过程。SiteControl表定义以下触发器:
创建触发器[DBO]。[DBO]上convert(varchar(256),SiteCode),’’), IsNULL(convert(varchar(256),TypeFlag),’’),’’ FROM inserted IF @@ERROR != 0 ROLLBACK TRAN END
此触发器每次在SiteControl表中插入记录时都会在TableChangeNotifications表中创建一个条目。当数据库监视器执行SpGetChangeNotifications存储过程时,它会读取TableChangeNotifications表并处理它发现的任何新条目。
示例:将网站加入新父母
由于SMSProv.log和SQL Profiler跟踪在将Configuration Manager站点加入新的父网站时捕获,父母eCode属性已更改。更改父站点是对网站属性的更改,这会导致编写新的站点控件文件。如本章的“组件和通信”部分所述,SMS提供程序初始化由站点控制管理器,站点层次管理器和数据库监视器执行的此操作。站点控制管理器和站点层次结构管理器在完成处理站点控制文件更新的每个主要阶段时生成里程碑状态消息。表3.5显示这些状态消息。