升级 System Center Service Manager

本文提供 System Center 2022 - Service Manager (SM) 的升级信息

升级到 System Center 2022 - Service Manager

以下部分提供有关如何升级到 System Center 2022 - Service Manager(SM)的信息。

警告

执行组件升级的顺序非常重要。 如果未遵循正确的升级顺序,则可能导致组件故障,对于组件故障,没有恢复选项。 受影响的 System Center 组件包括:

  1. 业务流程协调程序
  2. Service Manager
  3. Data Protection Manager
  4. Operations Manager
  5. 配置管理器
  6. Virtual Machine Manager
  7. App Controller

只能从 System Center 2019 升级到 System Center 2022。

重要

本指南假设你正在执行升级到现有 System Center 版本。 有关在不存在以前版本的 Service Manager 的计算机上安装 System Center 2022 - Service Manager 的信息,请参阅 部署 System Center - Service Manager

计划升级到 System Center 2022 - Service Manager

本部分概述了升级到 System Center 2022 所需的过程。

支持从 Service Manager 2019 就地升级。 就地升级是同一硬件上所有 Service Manager 部件的升级。 不支持其他方法,例如并行升级或滚动升级。

升级到 Service Manager 2022 需要准备。 建议在实验室环境中安装 Service Manager,然后将生产数据库复制到实验室。 之后,在实验室中执行新安装的升级。

评估和选择版本

System Center 2019 - Service Manager 的版本有两个不同的版本:

  • 评估版(180 天过期)
  • 正式许可版

Service Manager 2022 支持以下升级路径。

当前版本 升级的版本 Status
System Center 2019 - Service Manager Eval System Center 2022 - Service Manager Eval 评估期保持不变
System Center 2019 - Service Manager 选择 System Center 2022 - Service Manager 选择 Licensed

注意

从 Service Manager 评估版升级到 Service Manager 2022 评估版不会 延长 180 天的评估期。

安装位置

安装 Service Manager 的默认文件夹是 \Program Files\Microsoft System Center\Service Manager。 但是,执行升级到 Service Manager 时,软件将安装在以前使用的 Service Manager 文件夹中。 如果以前升级了 Service Manager 2016/1801,则可以使用以下文件夹:

\Program Files\Microsoft System Center\Service Manager

System Center 2022 - Service Manager 的硬件要求

System Center 2022 - Service Manager 的所有硬件要求都完全记录在硬件要求

System Center 2022 - Service Manager 的软件要求

System Center 2022 - Service Manager 的所有软件要求都完全记录在软件要求

防止 MPSync 作业受到阻碍

升级前

描述: 升级过程的问题导致 MPSync 作业在升级完成后失败。 若要防止此问题(在升级之前)[#back-up-service-manager-before-you-upgrade],必须在 DWRepository 数据库中运行下面提到的 SQL 脚本,以获取实际 SQL 脚本,这些脚本删除并添加 DWRepository 数据库中事实数据表中主键的约束以更正该问题。 此外,转换和加载作业也可能会失败。 错误的数据库整理可能会导致此错误出现。

;WITH FactName  
AS (  
       select w.WarehouseEntityName from etl.WarehouseEntity w  
       join etl.WarehouseEntityType t on w.WarehouseEntityTypeId = t.WarehouseEntityTypeId  
       where t.WarehouseEntityTypeName = 'Fact'  
),FactList  
AS (  
    SELECT  PartitionName, p.WarehouseEntityName,  
            RANK() OVER ( PARTITION BY p.WarehouseEntityName ORDER BY PartitionName ASC ) AS RK  
    FROM    etl.TablePartition p  
       join FactName f on p.WarehouseEntityName = f.WarehouseEntityName  
)  
, FactPKList  
AS (  
    SELECT  f.WarehouseEntityName, a.TABLE_NAME, a.COLUMN_NAME, b.CONSTRAINT_NAME, f.RK,  
            CASE WHEN b.CONSTRAINT_NAME = 'PK_' + f.WarehouseEntityName THEN 1 ELSE 0 END AS DefaultConstraints  
    FROM    FactList f  
    JOIN    INFORMATION_SCHEMA.KEY_COLUMN_USAGE a ON f.PartitionName = a.TABLE_NAME  
    JOIN    INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME AND b.CONSTRAINT_TYPE = 'Primary key'  
)  
, FactWithoutDefaultConstraints  
AS (  
    SELECT  a.*  
    FROM    FactPKList a  
    LEFT JOIN FactPKList b ON b.WarehouseEntityName = a.WarehouseEntityName AND b.DefaultConstraints = 1  
    WHERE   b.WarehouseEntityName IS NULL AND a.RK = 1  
)  
, FactPKListStr  
AS (  
    SELECT  DISTINCT f1.WarehouseEntityName, f1.TABLE_NAME, f1.CONSTRAINT_NAME, F.COLUMN_NAME AS PKList  
    FROM    FactWithoutDefaultConstraints f1  
    CROSS APPLY (  
                    SELECT  '[' + COLUMN_NAME + '],'  
                    FROM    FactWithoutDefaultConstraints f2  
                    WHERE   f2.TABLE_NAME = f1.TABLE_NAME  
                    ORDER BY COLUMN_NAME  
                FOR  
                   XML PATH('')  
                ) AS F (COLUMN_NAME)  
)  
SELECT  'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] DROP CONSTRAINT [' + f.CONSTRAINT_NAME + ']' + CHAR(13) + CHAR(10) +  
        'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] ADD CONSTRAINT [PK_' + f.WarehouseEntityName + '] PRIMARY KEY NONCLUSTERED (' + SUBSTRING(f.PKList, 1, LEN(f.PKList) -1) + ')' + CHAR(13) + CHAR(10)  
FROM    FactPKListStr f  

解决方法 1: 如果已升级,并且转换或加载作业失败时没有问题,但遇到管理包部署失败,请遵循(升级前)[#back-up-service-manager-before-you-upgrade] 部分中的步骤。 此外,还原默认主密钥后,通过导航到数据仓库工作区并选择管理包,在 Service Manager 控制台中重启失败的管理包部署。

解决方法 2: 如果升级且转换或加载作业失败时遇到问题,则通过运行以下查询来确定 DWStagingAndConfig 数据库中是否存在 SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base 管理包。

select * from ManagementPack where mpname like '%SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base%'  

如果管理包不存在,则需要在升级之前将数据库还原到某个状态。 若要还原数据库,请执行以下步骤。

  1. 执行数据库备份的灾难恢复步骤。

  2. 禁用 MPSyncJob 计划。

  3. 手动还原 DWRepository 中缺少的所有主键。 可以使用“升级之前”部分中的 SQL 脚本删除和重新创建主键。

  4. 使用 Service Manager 控制台重启失败的基础管理包部署。

在实验室环境中测试升级

建议在实验室环境中测试升级到 System Center 2022 - Service Manager。

升级顺序和计时

升级的顺序很重要。 请按以下顺序执行升级步骤:

  1. 备份数据库和管理包。 请参阅 System Center - Service Manager 灾难恢复指南中的备份 Service Manager 数据库备份未密封的管理包部分

  2. 首先从数据仓库管理服务器开始。

  3. 升级到数据仓库管理服务器后,升级初始(主)Service Manager 管理服务器。 如果创建了多个 Service Manager 管理服务器,则初始 Service Manager 管理服务器是第一个创建的。

  4. 然后升级所有辅助管理服务器、自助服务门户和服务管理器控制台。

安装后,执行以下操作:

  1. 禁用所有数据仓库作业。 为此,请打开 Service Manager shell,然后运行以下命令:

    $DW ='DWMS Servername' 
    Get-scdwjob -Computername $DW | %{disable-scdwjobschedule -Computername $DW -jobname $_.Name} 
    
  2. 根据环境中的数据源视图,在以下 PowerShell 脚本中进行所需的更改,然后使用提升的权限运行脚本:

    $SSAS_ServerName = "ssas servername" # - to be replaced with Analysis Service instance Name 
    
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") 
    $Server = New-Object Microsoft.AnalysisServices.Server 
    $Server.Connect($SSAS_ServerName) 
    $Databases = $Server.Databases 
    $DWASDB = $Databases["DWASDataBase"] 
    
    #update DWDatamart dsv. Comment the below 3 commands if DWdatamart dsv is not present  
    
    $DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["OperatingsystemDim"].Columns["PhysicalMemory"].DataType  =  [decimal]  
    
    $DWASDB.DataSourceViews["DwDataMart"].Schema.Tables["LogicalDiskDim"].Columns["Size"].DataType  =  [decimal]  
    
    $DWASDB.DataSourceViews["DwDataMart"].Update([Microsoft.AnalysisServices.UpdateOptions]::ExpandFull)  
    
    #update CMDatamart dsv.Comment the below 2 commands if cmdatamart dsv is not present  
    
    $DWASDB.DataSourceViews["CMDataMart"].Schema.Tables["OperatingsystemDim"].Columns["PhysicalMemory"].DataType  =  [decimal]  
    
    $DWASDB.DataSourceViews["CMDataMart"].Update([Microsoft.AnalysisServices.UpdateOptions]::ExpandFull)  
    
    #update OperatingsystemDim 
    
    $DWASDB.Dimensions["OperatingsystemDim"].Attributes["PhysicalMemory"].KeyColumns[0].DataType =  [System.Data.OleDb.OleDbType]::Double  
    
    $DWASDB.Dimensions["OperatingsystemDim"].Update([Microsoft.AnalysisServices.UpdateOptions]::ExpandFull + [Microsoft.AnalysisServices.UpdateOptions]::AlterDependents) 
    
    #update LogicalDiskDim  
    
    $DWASDB.Dimensions["LogicalDiskDim"].Attributes["Size"].KeyColumns[0].DataType =  [System.Data.OleDb.OleDbType]::Double  
    
    $DWASDB.Dimensions["LogicalDiskDim"].Update([Microsoft.AnalysisServices.UpdateOptions]::ExpandFull + [Microsoft.AnalysisServices.UpdateOptions]::AlterDependents)  
    
    
  3. 通过运行以下命令启用作业计划:

    $DW ='DWMS Servername' 
    
    Get-scdwjob -Computername $DW | %{enable-scdwjobschedule -Computername $DW -jobname $_.Name} 
    
  4. 重启数据仓库管理服务器。

  5. System Center 2022 Service Manager 的更新汇总 2 应用于数据仓库管理服务器、主管理服务器、辅助管理服务器(s)、自助服务门户(s)和所有分析师控制台。

数据库影响

使用 System Center 2022 - Service Manager,可以选择安装 Operations Manager 和 Configuration Manager 数据市场。 如果选择此选项,硬盘驱动器上将需要额外的空间来存储两个数据库以及关联的文件组和日志文件。

升级前备份 Service Manager

在开始任何升级之前,建议备份 Service Manager 和数据仓库数据库和加密密钥。 如果已备份数据库和加密密钥,可以继续运行升级。 否则,在继续升级之前,请查看 System Center - Service Manager 灾难恢复指南中的备份过程。

注册 Service Manager 数据仓库

如果在环境中安装了数据仓库管理服务器,作为升级过程的一部分,则必须能够查看数据仓库作业的状态。 如果未向 Service Manager 数据仓库注册,则无法执行此任务。 如果 Service Manager 控制台中不显示数据仓库按钮,请完成在 System Center - Service Manager 部署指南中向 Service Manager 数据仓库注册以启用报告的过程

加密密钥

运行安装程序以安装或升级到 System Center 2022 - Service Manager 后,系统会提示打开加密备份或还原向导。 如果以前备份了加密密钥,则无需执行其他操作。 如果从未备份加密密钥,请使用加密密钥备份或还原向导在 Service Manager 管理服务器上备份加密密钥。

本文提供 System Center 2019 - Service Manager (SM) 的升级信息

升级到 System Center 2019 - Service Manager

以下部分提供有关如何升级到 System Center 2019 - Service Manager(SM)的信息。

警告

执行组件升级的顺序非常重要。 如果未遵循正确的升级顺序,则可能导致组件故障,对于组件故障,没有恢复选项。 受影响的 System Center 组件包括:

  1. 业务流程协调程序
  2. Service Manager
  3. Data Protection Manager
  4. Operations Manager
  5. 配置管理器
  6. Virtual Machine Manager
  7. App Controller

只能从 System Center 2016 或 1801 或 1807 升级到 System Center 2019。

重要

本指南假设你正在执行升级到现有 System Center 版本。 有关在不存在以前版本的 Service Manager 的计算机上安装 System Center 2019 - Service Manager 的信息,请参阅 部署 System Center - Service Manager

计划升级到 System Center 2019 - Service Manager

本部分概述了升级到 System Center 2019 所需的过程。

支持从 Service Manager 2016、1801、1807 就地升级。 就地升级是同一硬件上所有 Service Manager 部件的升级。 不支持其他方法,例如并行升级或滚动升级。

升级到 Service Manager 2019 需要准备。 建议在实验室环境中安装 Service Manager,然后将生产数据库复制到实验室。 之后,在实验室中执行新安装的升级。

评估和选择版本

System Center 2016 和 1801 版本 - Service Manager 在两个不同的版本中可用:

  • 评估版(180 天过期)
  • 正式许可版

Service Manager 2019 支持以下升级路径。

当前版本 升级的版本 Status
System Center 2016/1801 - Service Manager Eval System Center 2019 - Service Manager Eval 评估期保持不变
System Center 2016/1801/1807 - Service Manager 选择 System Center 2019 - Service Manager 选择 Licensed

注意

从 Service Manager 的评估版本升级到 Service Manager 2019 的评估版本不会 延长 180 天的评估期。

安装位置

安装 Service Manager 的默认文件夹是 \Program Files\Microsoft System Center\Service Manager。 但是,执行升级到 Service Manager 时,软件将安装在以前使用的 Service Manager 文件夹中。 如果以前升级了 Service Manager 2016/1801,则可以使用以下文件夹:

\Program Files\Microsoft System Center\Service Manager

System Center 2019 - Service Manager 的硬件要求

System Center 2019 - Service Manager 的所有硬件要求都完全记录在硬件要求

System Center 2019 - Service Manager 的软件要求

System Center 2019 - Service Manager 的所有软件要求都完全记录在软件要求

对自定义开发的影响

随着 System Center 2016 - Service Manager 版本,产品已迁移到支持 .NET 4.5.1。 用于支持此移动到 .NET 4.5.1 的工具集需要中断一些依赖项,并导致类在程序集之间移动。

防止 MPSync 作业受到阻碍

升级前

描述: 升级过程的问题导致 MPSync 作业在升级完成后失败。 要在升级前防止此问题出现,必须在 DWRepository 数据库上运行以下 SQL 脚本以获取实际的 SQL 脚本,这些脚本在 DWRepository 数据库中的事实数据表内部的主键上删除和添加约束,以更正此问题。 此外,转换和加载作业也可能会失败。 错误的数据库整理可能会导致此错误出现。

;WITH FactName  
AS (  
       select w.WarehouseEntityName from etl.WarehouseEntity w  
       join etl.WarehouseEntityType t on w.WarehouseEntityTypeId = t.WarehouseEntityTypeId  
       where t.WarehouseEntityTypeName = 'Fact'  
),FactList  
AS (  
    SELECT  PartitionName, p.WarehouseEntityName,  
            RANK() OVER ( PARTITION BY p.WarehouseEntityName ORDER BY PartitionName ASC ) AS RK  
    FROM    etl.TablePartition p  
       join FactName f on p.WarehouseEntityName = f.WarehouseEntityName  
)  
, FactPKList  
AS (  
    SELECT  f.WarehouseEntityName, a.TABLE_NAME, a.COLUMN_NAME, b.CONSTRAINT_NAME, f.RK,  
            CASE WHEN b.CONSTRAINT_NAME = 'PK_' + f.WarehouseEntityName THEN 1 ELSE 0 END AS DefaultConstraints  
    FROM    FactList f  
    JOIN    INFORMATION_SCHEMA.KEY_COLUMN_USAGE a ON f.PartitionName = a.TABLE_NAME  
    JOIN    INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME AND b.CONSTRAINT_TYPE = 'Primary key'  
)  
, FactWithoutDefaultConstraints  
AS (  
    SELECT  a.*  
    FROM    FactPKList a  
    LEFT JOIN FactPKList b ON b.WarehouseEntityName = a.WarehouseEntityName AND b.DefaultConstraints = 1  
    WHERE   b.WarehouseEntityName IS NULL AND a.RK = 1  
)  
, FactPKListStr  
AS (  
    SELECT  DISTINCT f1.WarehouseEntityName, f1.TABLE_NAME, f1.CONSTRAINT_NAME, F.COLUMN_NAME AS PKList  
    FROM    FactWithoutDefaultConstraints f1  
    CROSS APPLY (  
                    SELECT  '[' + COLUMN_NAME + '],'  
                    FROM    FactWithoutDefaultConstraints f2  
                    WHERE   f2.TABLE_NAME = f1.TABLE_NAME  
                    ORDER BY COLUMN_NAME  
                FOR  
                   XML PATH('')  
                ) AS F (COLUMN_NAME)  
)  
SELECT  'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] DROP CONSTRAINT [' + f.CONSTRAINT_NAME + ']' + CHAR(13) + CHAR(10) +  
        'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] ADD CONSTRAINT [PK_' + f.WarehouseEntityName + '] PRIMARY KEY NONCLUSTERED (' + SUBSTRING(f.PKList, 1, LEN(f.PKList) -1) + ')' + CHAR(13) + CHAR(10)  
FROM    FactPKListStr f  

解决方法 1: 如果已升级且转换或加载作业失败时没有问题,但管理包部署失败,请遵循升级前部分中的步骤。 此外,还原默认主密钥后,通过导航到数据仓库工作区并选择管理包,在 Service Manager 控制台中重启失败的管理包部署。

解决方法 2: 如果升级且转换或加载作业失败时遇到问题,则通过运行以下查询来确定 DWStagingAndConfig 数据库中是否存在 SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base 管理包。

select * from ManagementPack where mpname like '%SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base%'  

如果管理包不存在,则需要在升级之前将数据库还原到某个状态。 若要还原数据库,请执行以下步骤。

  1. 执行数据库备份的灾难恢复步骤。

  2. 禁用 MPSyncJob 计划。

  3. 手动还原 DWRepository 中缺少的所有主键。 可以使用“升级之前”部分中的 SQL 脚本删除和重新创建主键。

  4. 使用 Service Manager 控制台重启失败的基础管理包部署。

在实验室环境中测试升级

建议在实验室环境中测试升级到 System Center 2019 - Service Manager。

升级顺序和计时

升级的顺序很重要。 请按以下顺序执行升级步骤:

  1. 备份数据库和管理包。 请参阅 System Center - Service Manager 灾难恢复指南中的备份 Service Manager 数据库备份未密封的管理包部分

  2. 首先从数据仓库管理服务器开始。 你将停止数据仓库作业,在完成升级之前,将无法再次启动它们。

  3. 升级到数据仓库管理服务器后,升级初始 Service Manager 管理服务器。 如果创建了多个 Service Manager 管理服务器,则初始 Service Manager 管理服务器是第一个创建的。

  4. 升级 Service Manager 控制台和任何其他 Service Manager 管理服务器。

  5. 重启数据仓库作业。

  6. 部署新的自助服务门户。

升级的计时也很重要。 升级数据仓库管理服务器后,必须更新 Service Manager 管理服务器,并部署新的自助服务门户。 升级初始 Service Manager 管理服务器后,必须准备好同时升级 Service Manager 控制台或 Service Manager 控制台、其他 Service Manager 管理服务器和自助服务门户。

数据库影响

使用 System Center 2019 - Service Manager,可以选择安装 Operations Manager 和 Configuration Manager 数据市场。 如果选择此选项,硬盘驱动器上将需要额外的空间来存储两个数据库以及关联的文件组和日志文件。

升级前备份 Service Manager

在开始任何升级之前,建议备份 Service Manager 和数据仓库数据库和加密密钥。 如果已备份数据库和加密密钥,可以继续运行升级。 否则,在继续升级之前,请查看 System Center - Service Manager 灾难恢复指南中的备份过程。

注册 Service Manager 数据仓库

如果在环境中安装了数据仓库管理服务器,作为升级过程的一部分,则必须能够查看数据仓库作业的状态。 如果尚未向 Service Manager 数据仓库注册,则无法执行此任务。 如果 Service Manager 控制台中不显示数据仓库按钮,请完成在 System Center - Service Manager 部署指南中向 Service Manager 数据仓库注册以启用报告的过程

加密密钥

运行安装程序以安装或升级到 System Center 2019 - Service Manager 后,系统会提示打开加密备份或还原向导。 如果以前备份了加密密钥,则无需执行其他操作。 如果从未备份加密密钥,请使用加密密钥备份或还原向导在 Service Manager 管理服务器上备份加密密钥。

重要

此版本的 Service Manager 已终止支持。 建议 升级到 Service Manager 2022

必须安装 System Center - Service Manager 1801 才能应用 1807 更新。 详细了解如何安装 SM 1807

本文提供 System Center 2016 - Service Manager (SM) 的升级信息

升级到 System Center 2016 - Service Manager

以下部分提供了有关如何从 System Center 2012 R2 - Service Manager 升级到 System Center 2016 - Service Manager(SM)的信息。

警告

如果计划升级两个或更多个 System Center 组件,则必须首先参阅升级到 System Center 2016 的指南。 执行组件升级的顺序非常重要。 如果未遵循正确的升级顺序,则可能导致组件故障,对于组件故障,没有恢复选项。 受影响的 System Center 组件包括:

  1. 业务流程协调程序
  2. Service Manager
  3. Data Protection Manager
  4. Operations Manager
  5. 配置管理器
  6. Virtual Machine Manager
  7. App Controller

只能从 System Center 2012 R2 升级到 System Center 2016 - 安装了更新汇总 9 或更高版本的 Service Manager。

重要

本指南假设你要执行升级到 System Center 2012 R2。 有关在不存在以前版本的 Service Manager 的计算机上安装 System Center 2016 - Service Manager 的信息,请参阅 部署 System Center 2016 - Service Manager

规划升级到 System Center 2016 - Service Manager

本部分概述了升级到 System Center 2016 所需的过程。

支持从 Service Manager 2012 R2 到 Service Manager 2016 的就地升级。 就地升级是同一硬件上所有 Service Manager 部件的升级。 不支持其他方法,例如并行升级或滚动升级。

升级到 Service Manager 2016 需要准备。 建议在实验室环境中安装 Service Manager,然后将生产数据库复制到实验室。 然后,在实验室中执行新安装的升级,并在证明成功后,在生产环境中执行到 Service Manager SP1 的相同升级。

评估和选择版本

System Center 2012 R2 - Service Manager 的版本有两个不同的版本:

  • 评估版(180 天过期)

  • 正式许可版

Service Manager 2016 支持以下升级路径。

当前版本 升级的版本 Status
System Center 2012 R2 - Service Manager Eval System Center 2016 - Service Manager Eval 评估期保持不变
System Center 2012 R2 - Service Manager Select System Center 2016 - Service Manager 选择 Licensed

注意

从 Service Manager 2012 R2 的评估版本升级到 Service Manager 2016 的评估版本不会 延长 180 天的评估期。

安装位置

安装 Service Manager 的默认文件夹是 \Program Files\Microsoft System Center\Service Manager。 但是,执行升级到 Service Manager 时,软件将安装在以前使用的 Service Manager 文件夹中。 如果以前升级了 Service Manager 2010 或 Service Manager 2012,则可以使用以下文件夹:

\Program Files\Microsoft System Center\Service Manager 2010
\Program Files\Microsoft System Center\Service Manager 2012

System Center 2016 - Service Manager 的硬件要求

System Center 2016 - Service Manager 的所有硬件要求都完全记录在 System Center 2016 - Service Manager 的硬件要求中

System Center 2016 - Service Manager 的软件要求

若要升级到 System Center 2016,必须先对 System Center 2012 R2 - Service Manager 应用更新汇总 9 或更高版本。

System Center 2016 - Service Manager 的所有软件要求都已完整记录在 System Center 2016 - Service Manager 的软件要求中

对自定义开发的影响

随着 System Center 2016 - Service Manager 版本,产品已迁移到支持 .NET 4.5.1。 用于支持此移动到 .NET 4.5.1 的工具集需要中断一些依赖项,并导致类在程序集之间移动。 因此,升级到 Service Manager 2016 可能会中断内部或由第三方(非Microsoft)提供的自定义解决方案。 请参阅 升级自定义解决方案的步骤,以避免遇到此问题。

防止 MPSync 作业失败

升级前

描述: 升级过程的问题导致 MPSync 作业在升级完成后失败。 要在升级前防止此问题出现,必须在 DWRepository 数据库上运行以下 SQL 脚本以获取实际的 SQL 脚本,这些脚本在 DWRepository 数据库中的事实数据表内部的主键上删除和添加约束,以更正此问题。 此外,转换和加载作业也可能会失败。 错误的数据库整理可能会导致此错误出现。

;WITH FactName  
AS (  
       select w.WarehouseEntityName from etl.WarehouseEntity w  
       join etl.WarehouseEntityType t on w.WarehouseEntityTypeId = t.WarehouseEntityTypeId  
       where t.WarehouseEntityTypeName = 'Fact'  
),FactList  
AS (  
    SELECT  PartitionName, p.WarehouseEntityName,  
            RANK() OVER ( PARTITION BY p.WarehouseEntityName ORDER BY PartitionName ASC ) AS RK  
    FROM    etl.TablePartition p  
       join FactName f on p.WarehouseEntityName = f.WarehouseEntityName  
)  
, FactPKList  
AS (  
    SELECT  f.WarehouseEntityName, a.TABLE_NAME, a.COLUMN_NAME, b.CONSTRAINT_NAME, f.RK,  
            CASE WHEN b.CONSTRAINT_NAME = 'PK_' + f.WarehouseEntityName THEN 1 ELSE 0 END AS DefaultConstraints  
    FROM    FactList f  
    JOIN    INFORMATION_SCHEMA.KEY_COLUMN_USAGE a ON f.PartitionName = a.TABLE_NAME  
    JOIN    INFORMATION_SCHEMA.TABLE_CONSTRAINTS b ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME AND b.CONSTRAINT_TYPE = 'Primary key'  
)  
, FactWithoutDefaultConstraints  
AS (  
    SELECT  a.*  
    FROM    FactPKList a  
    LEFT JOIN FactPKList b ON b.WarehouseEntityName = a.WarehouseEntityName AND b.DefaultConstraints = 1  
    WHERE   b.WarehouseEntityName IS NULL AND a.RK = 1  
)  
, FactPKListStr  
AS (  
    SELECT  DISTINCT f1.WarehouseEntityName, f1.TABLE_NAME, f1.CONSTRAINT_NAME, F.COLUMN_NAME AS PKList  
    FROM    FactWithoutDefaultConstraints f1  
    CROSS APPLY (  
                    SELECT  '[' + COLUMN_NAME + '],'  
                    FROM    FactWithoutDefaultConstraints f2  
                    WHERE   f2.TABLE_NAME = f1.TABLE_NAME  
                    ORDER BY COLUMN_NAME  
                FOR  
                   XML PATH('')  
                ) AS F (COLUMN_NAME)  
)  
SELECT  'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] DROP CONSTRAINT [' + f.CONSTRAINT_NAME + ']' + CHAR(13) + CHAR(10) +  
        'ALTER TABLE [dbo].[' + f.TABLE_NAME + '] ADD CONSTRAINT [PK_' + f.WarehouseEntityName + '] PRIMARY KEY NONCLUSTERED (' + SUBSTRING(f.PKList, 1, LEN(f.PKList) -1) + ')' + CHAR(13) + CHAR(10)  
FROM    FactPKListStr f  

解决方法 1: 如果已升级且转换或加载作业失败时没有问题,但管理包部署失败,请遵循升级前部分中的步骤。 此外,还原默认主密钥后,通过导航到数据仓库工作区并选择管理包,在 Service Manager 控制台中重启失败的管理包部署。

解决方法 2: 如果升级且转换或加载作业失败时遇到问题,则通过运行以下查询来确定 DWStagingAndConfig 数据库中是否存在 SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base 管理包。

select * from ManagementPack where mpname like '%SystemDerivedMp.Microsoft.SystemCenter.Datawarehouse.Base%'  

如果管理包不存在,则需要在升级之前将数据库还原到某个状态。 若要还原数据库,请执行以下步骤。

  1. 执行数据库备份的灾难恢复步骤。

  2. 禁用 MPSyncJob 计划。

  3. 手动还原 DWRepository 中缺少的所有主键。 可以使用“升级之前”部分中的 SQL 脚本删除和重新创建主键。

  4. 使用 Service Manager 控制台重启失败的基础管理包部署。

在实验室环境中测试升级

建议在实验室环境中测试升级到 System Center 2016 - Service Manager。

升级顺序和计时

升级的顺序很重要。 请按以下顺序执行升级步骤:

  1. 备份数据库和管理包。 请参阅 System Center 2016 - Service Manager 灾难恢复指南中的备份 Service Manager 数据库备份未密封的管理包部分

  2. 首先从数据仓库管理服务器开始。 你将停止数据仓库作业,在完成升级之前,将无法再次启动它们。

  3. 升级到数据仓库管理服务器后,升级初始 Service Manager 管理服务器。 如果创建了多个 Service Manager 管理服务器,则初始 Service Manager 管理服务器是第一个创建的。

  4. 升级 Service Manager 控制台和任何其他 Service Manager 管理服务器。

  5. 重启数据仓库作业。

  6. 部署新的自助服务门户。

升级的计时也很重要。 升级数据仓库管理服务器后,必须同时更新 Service Manager 管理服务器并部署新的自助服务门户。 升级初始 Service Manager 管理服务器后,必须准备好同时升级 Service Manager 控制台或 Service Manager 控制台、其他 Service Manager 管理服务器和自助服务门户。

数据库影响

使用 System Center 2016 - Service Manager,可以选择安装 Operations Manager 和 Configuration Manager 数据市场。 如果选择此选项,硬盘驱动器上将需要额外的空间来存储两个数据库以及关联的文件组和日志文件。

升级前备份 Service Manager

在开始任何升级之前,建议备份 Service Manager 和数据仓库数据库和加密密钥。 如果已备份数据库和加密密钥,可以继续运行升级。 否则,在继续升级之前,请查看 System Center - Service Manager 灾难恢复指南中的备份过程。

注册 Service Manager 数据仓库

如果在环境中安装了数据仓库管理服务器,作为升级过程的一部分,则必须能够查看数据仓库作业的状态。 如果尚未向 Service Manager 数据仓库注册,则无法执行此任务。 如果在 Service Manager 控制台中看不到数据仓库按钮,请完成在 System Center 2016 - Service Manager 的部署指南中注册以启用报告的过程

加密密钥

运行安装程序以安装或升级到 System Center 2016 - Service Manager 后,系统会提示打开加密备份或还原向导。 如果以前备份了加密密钥,则无需执行其他操作。 如果从未备份加密密钥,请使用加密密钥备份或还原向导在 Service Manager 管理服务器上备份加密密钥。

后续步骤