在新服务器场上从 工作流管理器 升级到 SharePoint 工作流管理器

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

概述

将使用经典工作流管理器 (WFM) 的旧 SharePoint 场升级到较新版本的 SharePoint 时,WFM也需要升级到 SharePoint 工作流管理器 (SPWFM) 。 由于在新硬件上安装 SPWFM 的全新副本并升级现有WFM数据库,因此此过程实质上是新安装和升级过程与一些附加步骤的混合。

注意

将现有WFM场升级到 SPWFM 场时,将重复使用WFM数据库。 现有注册和工作流应保持不变。

步骤 1:准备旧的工作流管理器场

需要来自“旧”环境的信息才能正确配置“新”环境。

获取证书生成密钥

由于升级步骤要求加入现有工作流场,因此重新加入时需要WFM“证书生成密钥”。 如果不知道该密钥是什么并且没有书面记录,请在继续操作之前重置WFM和服务总线的证书生成密钥。 必须使用正确的证书生成密钥加入现有工作流场。

检查范围

需要使用旧服务器场中使用的同一范围名称重新注册 SPWorkflowService

  1. 若要检查范围名称,请在“旧”场中的 SharePoint 服务器之一上运行以下 PowerShell:

Add-PSSnapin *sharepoint*
$site = (Get-SPWebapplication -IncludeCentralAdministration | ?{$_.IsAdministrationWebApplication}).Sites[0]
$wfmProxy = Get-SPServiceApplicationProxy | ?{$_.TypeName -eq "Workflow Service Application Proxy"}
$wfmProxy.GetWorkflowServiceAddress($site)

  1. 地址如下所示:local:12290/SharePoint2013contoso。apps.https://

端口号后面的部分是 范围名称。 在此示例中,它是“SharePoint2013”。 记下范围名称并保存以供以后使用。 在新场中运行 Register-SPWorkflowService 时需要它。

检查服务帐户和管理员组

  1. 在“旧”场中的WFM服务器上,打开 PowerShell。
  2. 运行

GET-wffarm | select runasaccount, admingroup 

示例:

运行 get-wffarm 命令后显示

记下帐户和组。 在新环境中重新加入工作流场时,必须提供 RunAsAccount 的密码。 只有属于 AdminGroup 成员的用户才能浏览工作流终结点 URI 并运行 Register-SPWorkflowService 命令。

脱离旧WFM场

重要

必须运行向导并将工作流场保留在“旧”WFM服务器上。 必须对WFM场中的所有节点执行此操作,以便工作流和服务总线数据库不包含主机。

如果跳过此步骤,则会孤立工作流和服务总线数据库中的主机条目,这在新环境中会导致许多问题。

  1. 登录到托管WFM场的服务器,然后打开“工作流管理器配置”。
  2. 选择“离开工作流管理器场”,然后运行退出当前场的步骤。
  3. 如果WFM场中有多个节点 (主机) ,请为每个节点重复此步骤。

注意

SharePoint 工作流管理器将安装在新场上的新硬件上。 无需从旧服务器卸载工作流管理器和服务总线组件。

如果希望“旧”WFM场在迁移期间保持正常运行,请备份工作流和服务总线数据库,如下所示,然后重新运行向导以重新加入服务器场。 若要防止将任何节点信息移动到新场,请确保在数据库备份时所有节点都已脱离。

步骤 2:移动数据库

移动内容数据库

若要在 SharePoint 网站与其上运行的工作流之间保持奇偶校验,必须将内容数据库与应用管理服务一起移动,并WFM数据库。 升级 SharePoint 内容超出了本文档的范围,但我们引用了一些与升级WFM相关的项目。

使用数据库附加方法,可以将 SharePoint 内容数据库从旧服务器场移动到新场。

注意

如果要移动到较新的 SharePoint 主版本,可能需要完成中间升级步骤。 例如,只有 SharePoint 2016 和 2019 可以直接升级到 SharePoint Server 订阅版 (SPSE) 。 SharePoint 2013 不能。 若要将 SharePoint 2013 内容数据库升级到 SPSE,必须先将其升级到 SharePoint 2016,然后升级到 SPSE。

有关详细信息,请参阅:

移动应用管理数据库

由于工作流通过应用程序 管理数据库中存储的应用程序主体获取对 SharePoint 内容的权限,因此还必须将此数据库升级/迁移到新场。

重要

必须移动应用管理数据库以及内容、WFM和服务总线数据库。 否则,在 迁移之前创建的所有工作流都将失败

你将遇到 问题 3:工作流失败并返回“无法获取应用主体权限信息”错误。 虽然以后可以更正此问题,但通过在升级/迁移期间引入应用管理数据库,可以更轻松地避免此问题。

以下是基本步骤:

  • 使用 SQL Server 备份在旧服务器场中备份应用管理数据库
  • 将应用管理数据库还原 到新的 SQL Server。
  • 创建新的应用管理服务 在新场的管理中心中,转到管理服务应用程序并创建新的应用管理服务。 在“数据库”部分中,输入从旧服务器场还原的应用管理数据库的 SQL Server 名称和数据库名称。 基本上,我们将通过重用旧数据库来创建新的服务应用。 这应将数据库升级到当前的 SharePoint 版本。
  • 确认服务位于默认代理组中。 请确保此新的应用管理服务位于默认代理组中,并且 Web 应用程序正在使用它。

注意

与内容数据库一样,如果要移动到较新的 SharePoint 主版本,可能需要完成中间升级步骤。 例如,只有 SharePoint 2016 和 2019 可以直接升级到 SharePoint Server 订阅版 (SPSE) 。 SharePoint 2013 不能。 若要将 SharePoint 2013 内容数据库升级到 SPSE,必须先将其升级到 SharePoint 2016,然后升级到 SPSE。

移动WFM和服务总线数据库

如果升级/迁移包括将数据库移动到新的 SQL Server,则需要移动所有WFM和服务总线数据库。

  1. 备份旧 SQL 服务器上的数据库:
  • SbGatewayDatabase
  • SbManagementDB
  • SBMessageContainer01
  • WFInstanceManagementDB
  • WFManagementDB
  • WFResourceManagementDB
  1. 在新 SQL 服务器上还原数据库。

在新 SQL 服务器上还原数据库

重要

必须使用以前使用的 相同数据库名称 将 6 个数据库还原到新的 SQL Server。 如果更改数据库名称,工作流配置向导将在尝试启动服务总线服务时超时。

创建 SQL 别名

工作流管理器配置向导仅提示输入六个数据库中的 2 个的连接信息。 其他四个数据库的连接字符串存储在指定的两个数据库中。 这就是为什么使用以前使用的相同名称还原数据库很重要的原因。
若要使以前的数据库连接字符串正常工作,还必须在新的 SPWFM 服务器上创建 SQL 别名, () 。

  • 通过针对“SbManagementDB”数据库运行此 SQL 查询,查找“旧”SQL 服务器的名称:
select Name, Value as "SQLServerName" from store.serviceconfig where name = 'SBGatewayDatabaseServer'

示例:

创建 sql 别名中的示例 1

  • 在 SPWFM 服务器上,转到“开始” |在“cliconfg”中运行并键入

有关创建 sql 别名的示例

  • 在“别名”选项卡上,选择“添加”。
  • 为网络库选择 TCP/IP。
  • 在“服务器别名”框中,键入“old”SQL Server 的名称。 示例:“SQL”
  • 在“服务器名称”框中,键入“new”SQL Server (Example 的名称:“New_SQL”) ,然后选择“确定”。

注意

WFM版本与 SharePoint 版本不一致,这意味着如果要对 SharePoint 执行多版本升级,则无需在每个步骤中升级WFM。

例如,从 SharePoint 2013 升级到 SharePoint 2019 时,必须将内容数据库和应用管理服务应用程序升级到 SharePoint 2016,然后升级到 2019。 但无需升级 2016 年服务器场中的WFM。 只需从 2013 环境中的 WFM () 升级到 2019 环境) 中的 SPWFM (。

步骤 3:准备新的 SharePoint 工作流管理器服务器

验证 IIS 服务器角色

  1. 检查是否已在新的 SPWFM 服务器上安装“Web Server (IIS) ”服务器角色。 如果不在服务器上,请安装它。

如果要在非 SharePoint 服务器上安装 SPWFM,则可能尚未安装 SPWFM。 遗憾的是,没有强制你安装它,因此如果不安装,工作流配置向导将失败并显示错误“无法加载文件或程序集'Microsoft.Web.Administration'。

安装 Azure Service Fabric

SharePoint 工作流管理器需要 Azure Service Fabric,在运行 SharePoint 工作流管理器安装程序之前,必须安装它。 如果尚未安装 Azure Service Fabric 运行时,请按照以下步骤进行安装:

SharePoint 工作流管理器支持的最低 Azure Service Fabric 运行时版本为 9.1.1583.9590,可以从 Azure Service Fabric 运行时下载。 或者,可以从 此处找到并下载其 Windows Installer 的任何更高版本。

以提升的管理员身份打开 PowerShell 控制台,并运行以下命令:

.\MicrosoftServiceFabric.9.1.1583.9590.exe /accepteula

若要验证是否已安装 Azure Service Fabric,应能够在控制面板的“程序和功能”中找到它。

注意

SharePoint 工作流管理器支持 Azure Service Fabric 版本 9.1.1583.9590 及更高版本。可以安装高于此版本的安装。 有关详细信息,请参阅 Service Fabric 支持的版本

如果要在不卸载的情况下直接升级 Azure Service Fabric,请注意升级依赖项。 有关详细信息,请参阅 Service Fabric 支持的版本

重要

如果计算机上已安装Windows Fabric,则必须在安装 Azure Service Fabric 之前将其卸载。

在 SPWFM 服务器上安装 SPWFM 和 SPWFM 客户端

  1. 在 SPWFM 服务器上,下载并安装 SharePoint 工作流管理器 客户端和 SharePoint 工作流管理器

在所有 SharePoint 服务器上安装 SPWFM 客户端

  1. 下载 SharePoint 工作流管理器 客户端的安装程序
  2. 在场中的所有 SharePoint 服务器上安装 SharePoint 工作流管理器 客户端

配置应用管理和订阅设置服务

  1. 在 SharePoint 服务器上 ((如果尚未) 使用旧服务器场中升级的应用程序 管理 数据库设置应用管理服务)。 请参阅上面的“移动应用管理数据库”步骤。
  2. 创建新的订阅设置服务。
$sa = New-SPSubscriptionSettingsServiceApplication -ApplicationPool 'SharePoint Web Services Default' -Name 'Subscriptions Settings Service Application' -DatabaseName 'Subscription'
New-SPSubscriptionSettingsServiceApplicationProxy -ServiceApplication $sa
  1. 检查应用管理和订阅服务应用。 它们应处于“已启动”状态。

确认应用管理处于启动状态

步骤 4:重新加入工作流场并升级

  1. 运行 SPWFM 配置向导。
  2. 在 SPWFM 服务器上,打开“工作流管理器配置”,然后选择“加入现有工作流管理器场”。
  3. 输入上一WFM“经典”安装正在使用的SQL Server和数据库详细信息,然后运行安装程序。

工作流管理器配置向导

  1. 输入服务帐户的密码和证书生成密钥。

包含数据的工作流向导

  1. 在 SPWFM 服务器上,再次打开“工作流管理器配置”,然后选择“升级工作流管理器场”,并让它运行,直到完成。

信任 SharePoint 服务器上的 SPWFM SSL 证书

由于 SharePoint 必须联系 SPWFM 服务终结点,因此 SharePoint 服务器必须信任它使用的证书。

导出证书

  1. 在 SPWFM 服务器上,打开 IIS 管理器。 右键单击 “工作流管理网站 ”,然后选择 “编辑绑定”。 在端口 12290 上选择 HTTPS 绑定,然后选择“编辑”。 选择 SSL 证书旁边的“查看”按钮。

选择 iis 管理器

  1. 选择“详细信息”选项卡,然后选择“复制到文件...”。
  2. 运行证书导出向导,将不使用私钥的证书导出为DER 编码的二进制 X.509 (。CER) 证书。
  3. .cer 文件复制到 SharePoint 管理中心服务器。

将 SPWFM 证书添加到场信任

  1. 在管理中心中,转到 “安全 > 管理信任”。
  2. 选择“新建”,为其指定名称,例如“工作流”或“SPWFM”。
  3. 选择“ 选择文件”,然后选择复制到计算机的 .cer 文件。 选择“确定”。

将 SPWFM 证书添加到受信任的根颁发机构

  1. 在 Central 管理员 服务器上,右键单击 SPWFM 证书.cer文件,然后选择“安装证书”。
  2. 使用证书导入向导,选择 “本地计算机 > 将所有证书放在以下存储 > 区中浏览 > 受信任的根证书颁发机构”。

证书存储

重要

必须在场中的所有 SharePoint 服务器上重复此证书导入步骤。

验证 SharePoint 工作流管理器终结点

  1. 首先从 SPWFM 服务器进行检查。 a. 选择 “工作流管理网站”。 在右侧窗格中,选择“ 浏览*12290 (https) ”。 b. 浏览器随即打开;导航到 https://localhost:12290. 如果在安装过程中允许通过 HTTP 进行连接,则端口 12291 上会有 HTTP 终结点,端口 12290 上具有 HTTPS 终结点。 c. 测试 http 和 https 终结点。

  2. 从 SharePoint 服务器进行检查。 归根结底,必须连接到 SPWFM 终结点的 SharePoint 服务器,因此还必须从该终结点确认是否存在连接。
    a. 使用 SPWFM RunAs 帐户或作为 AdminGroup 成员的用户登录到其中一个 SharePoint 服务器。 请参阅上面的“检查服务帐户和管理员组”步骤。
    b. 浏览到 SPWFM 终结点的 FQDN。

例如:

https://apps.contoso.local:12290/.local.contosohttps:// apps。 结果应如下所示:

检查连接

注册服务

  1. 以 SPWFM RunAs 帐户或作为 AdminGroup 成员的用户身份登录到任何 SharePoint 服务器。 请参阅上面的“检查服务帐户和管理员组”步骤。
  2. 运行 Register-SPWorkflowService 命令,在 SharePoint 中注册工作流服务。 需要 SPWFM 终结点 URI、在上面的“检查范围”步骤中收集的范围的名称,并且需要包含 -Force 参数。

示例:

Register-SPWorkflowService -SPSite http://www.contoso.local -WorkflowHostUri https://spwfm.contoso.local:12290 -ScopeName SharePoint2013 -Force

验证配置

  1. 检查 管理中心 > 管理服务应用程序中的工作流服务应用程序代理。 选择工作流服务应用程序代理的链接。 它应显示为“已连接”。

示例:

工作流状态

  1. 测试新工作流
    a. 登录到客户端计算机,然后打开 SharePoint Designer
    b. 打开其中一个网站并转到“工作流”。
    c. 创建新的工作流,并确保可以在可供选择的平台列表中看到“SharePoint Workflow 2013”。
    d. 创建基本的“日志到历史记录”2013 平台工作流并进行测试以确保成功。

  2. 测试旧工作流
    a. 在“旧”场中查找分配有工作流的列表。
    b. 启动该工作流的新实例并验证它是否正常工作。 如果在迁移过程中包含应用管理服务应用数据库,并使用正确的“范围”名称运行 Register-SPWorkflowService ,则旧服务器场中的工作流应继续工作。