升级到 System Center Operations Manager 时的升级前任务

在开始升级过程之前按照介绍的顺序执行以下升级前任务。

  1. 查看 Operations Manager 事件日志

  2. 清理数据库(ETL 表)

  3. 将代理配置为在多个网关服务器之间进行故障转移,以便向网关报告的所有代理都分配了故障转移网关。

  4. 从“挂起的管理”中删除代理

  5. 禁用通知订阅

  6. 禁用任何连接器

  7. 停止Microsoft监视代理、System Center Data Access Service、System Center Configuration Management 和Microsoft监视代理服务,但升级的监视代理除外

  8. 验证操作数据库的可用空间是否超过 50%

  9. 备份 Operations Manager 数据库

  10. 暂时更新代理的运行状况服务缓存大小,以防止在升级管理和网关服务器时丢失数据。

  11. 停止 IIS 服务器中 Operations Manager 和 MonitoringViews 的应用程序池。

查看 Operations Manager 事件日志

查看管理服务器上 Operations Manager 的事件日志,以查找重复的警告或严重事件。 在执行升级之前解决这些警告或事件并保存事件日志的副本。

清理数据库(ETL 表)

作为升级到 System Center Operations Manager 安装(安装程序)的一部分,包括用于清理 ETL 表和整理数据库的脚本。 但是,如果存在大量行(大于 100,000 行)进行清理,我们建议在启动升级之前运行脚本,以提升更快的升级速度,并防止设置超时。 在所有情况下都执行此升级前任务可以确保安装效率更高。

清理 ETL

若要清理 ETL 表,请在托管 Operations Manager 数据库的 SQL Server 上运行以下脚本:

-- (c) Copyright 2004-2006 Microsoft Corporation, All Rights Reserved         --
-- Proprietary and confidential to Microsoft Corporation                      --       
-- File:      CatchupETLGrooming.sql                                          --
-- Contents: A bug in the ETL grooming code could have left the user          --
-- Database with a large amount of ETL rows to groom. This script will groom  --
-- The ETL entries in a loop 100K rows at a time to avoid filling up the      --
-- Transaction log                                                            --
--------------------------------------------------------------------------------
DECLARE @RowCount int = 1;
DECLARE @BatchSize int = 100000;
DECLARE @SubscriptionWatermark bigint = 0;     
DECLARE @LastErr int;
-- Delete rows from the EntityTransactionLog. We delete the rows with TransactionLogId that aren't being
-- used anymore by the EntityChangeLog table and by the RelatedEntityChangeLog table.
SELECT @SubscriptionWatermark = dbo.fn_GetEntityChangeLogGroomingWatermark();
WHILE(@RowCount > 0)
BEGIN
  DELETE TOP(@BatchSize) ETL  
  FROM EntityTransactionLog ETL
  WHERE NOT EXISTS (SELECT 1 FROM EntityChangeLog ECL WHERE ECL.EntityTransactionLogId = ETL.EntityTransactionLogId) AND NOT EXISTS (SELECT 1 FROM RelatedEntityChangeLog RECL
  WHERE RECL.EntityTransactionLogId = ETL.EntityTransactionLogId)
  AND ETL.EntityTransactionLogId < @SubscriptionWatermark;        
  SELECT @LastErr = @@ERROR, @RowCount = @@ROWCOUNT;            
END

注意

清理 ETL 可能需要几个小时才能完成。

从挂起的管理中删除代理

在升级管理服务器之前,请删除挂起的管理中的任何代理。

  1. 使用 Operations Manager 管理组的 Operations Manager 管理员角色成员的帐户登录到操作控制台。

  2. 在“管理”窗格中,展开设备管理,然后选择“挂起的管理”。

  3. 右键单击每个代理,然后选择“批准”或拒绝”。

禁用通知订阅

在升级管理组之前,必须禁用通知订阅,以确保在升级过程中不会发送通知。

  1. 登录到 Operations Manager 管理组的 Operations Manager 管理员角色的成员的操作控制台帐户。

  2. 在操作控制台中,选择“管理” 视图。

  3. 在导航窗格中,展开 “管理”,展开 “通知” 容器,然后选择“ 订阅”。

  4. 选择每个订阅,然后在“操作”窗格中选择“禁用”。

    注意

    禁用订阅时,多重选择不起作用。

禁用连接器

请参阅任何安装的连接器的非 Microsoft 连接器文档,以确定用于每个连接器的服务。

若要停止连接器的服务,请执行以下步骤:

  1. “开始 ”菜单上,指向 管理工具,然后选择“ 服务”。

  2. “名称 ”列中,右键单击要控制的连接器,然后选择“ 停止”。

验证 Operations Manager 数据库是否具有超过 50% 的可用空间

在升级管理组之前,必须验证操作数据库是否具有超过 50% 的可用空间,因为如果没有足够的空间,升级可能会失败。 确保事务日志占操作数据库总大小的 50%。

  1. 在承载操作数据库的计算机上,打开“SQL Server Management Studio”

  2. 在“对象资源管理器” 中,展开“数据库”

  3. 右键单击 Operations Manager 数据库,选择“报表”、“标准报表”,然后选择“磁盘使用情况”。

  4. 查看“磁盘使用情况” 报告,以确定可用空间的百分比。

如果数据库没有 50% 的可用空间,请执行以下步骤来增加升级空间:

  1. 在承载操作数据库的计算机上,打开“SQL Server Management Studio”

  2. “连接到服务器”对话框中的“服务器类型”列表中,选择数据库引擎

  3. 在“服务器名称” 列表中,选择用于你的操作数据库的服务器和实例(例如,computer\INSTANCE1)。

  4. “身份验证 ”列表中,选择“ Windows 身份验证”,然后选择“ 连接”。

  5. “对象资源管理器”窗格中,展开“数据库”,右键单击 Operations Manager 数据库,然后选择“属性”。

  6. “数据库属性”对话框中的“选择页面”下,选择“文件”。

  7. 在结果窗格中,将“MOM_DATA” 数据库的“初始大小” 值提高 50%。

    注意

    如果可用空间已超过 50%,则不需要此步骤。

  8. MOM_LOG事务日志的初始大小设置为数据库总大小的 50%。 例如,如果操作数据库大小为 100 GB,则日志文件大小应为 50 GB。 然后选择确定

备份 Operations Manager 数据库

升级辅助管理服务器之前,获取操作数据库和数据仓库数据库的经过验证的最新备份。 在升级数据库之前,还应为可选功能(如报告和审核收集服务数据库)创建数据库的备份。 有关详细信息,请参阅创建完整数据库备份 (SQL Server)

停止管理服务器上的 Operations Manager 服务

在升级管理组中的第一个管理服务器之前,建议在所有其他管理服务器上停止 Operations Manager 服务 - System Center Data Access、System Center Configuration 和 Microsoft Monitoring Agent,以避免在更新操作数据库和数据仓库数据库时出现任何问题。

增加代理 HealthService 缓存大小

若要确保在升级过程中代理可以排队数据,请使用配置管理或业务流程解决方案手动或自动更新代理上的以下注册表设置:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\Management Groups\<ManagementGroupName>\maximumQueueSizeKb​

队列大小的默认值为 100 MB。 通过添加或修改 DWORD 类型注册表项,最多可增加 1500 MB。 完成管理组升级后,可以将其重置回默认值。

后续步骤

若要继续升级,请查看 升级概述