正在升级到 Project Server 订阅版

总结:了解如何升级到 Project Server 订阅版。
适用范围:Project Server 订阅版

本文介绍升级到 Project Server 订阅版 所需的步骤。

注意

在阅读本文之前,请参阅计划升级到 Project Server 订阅版了解有关升级和升级过程的详细信息。

升级要求

请注意升级到Project Server 订阅版的以下要求:

  • 只能从 Project Server 2016 或 2019 升级。 如果要从早期版本的 Project Server 升级,必须先将数据库升级到 Project Server 2016 或 2019,才能升级到 Project Server 订阅版。

    注意

    有关从 Project Server 2013 升级到 Project Server 订阅版 的信息,请参阅从 SharePoint 2013 升级到 SharePoint Server 订阅版

  • 升级过程要求在 SharePoint Server 订阅版 命令行管理程序中运行 Microsoft PowerShell cmdlet。 验证是否具有以下最低权限来运行它们:

    • SQL Server 实例上的 securityadmin 固定服务器角色。

    • 要更新的所有数据库上的 db_owner 固定数据库角色。

    • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

    注意

    [!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的详细信息,请参阅 Add-SPShellAdmin

  • 如果要迁移Project Server 2016或 2019 资源计划以用作 Project Server 订阅版 中的资源预订:

    • 必须发布资源计划。

    • 资源计划必须包含相关的时间分段数据(必须包含工作,而不仅仅是资源)。

      注意

      有关资源预订的详细信息,请参阅以下博文:Resource Engagements(资源预订)。

Project Server 订阅版升级步骤

升级到Project Server 订阅版可以分为四个步骤。 包括:

  1. 创建Project Server 订阅版场

  2. 复制并移动数据库

  3. 附加和升级 SharePoint Server 2016 或 2019 内容数据库

  4. 测试 SharePoint 内容数据库

下面提供了有关这些升级步骤的更多详细信息。

创建Project Server 订阅版场

升级过程的第一步是创建Project Server 订阅版场。 由于数据库附加是受支持的升级方法,因此你将在以下步骤中将 Project Server 2016 或 2019 数据库附加到此场并对其进行升级。

请注意,安装Project Server 订阅版与以前版本中的安装方式的主要区别在于,Project Server 订阅版安装现在是SharePoint Server 订阅版安装的一部分。 Project Server 订阅版现在在 SharePoint Server 订阅版 中作为服务应用程序运行,不需要单独安装。

重要

只能在 SharePoint Server 订阅版 的企业版上启用Project Server 订阅版。 无法使用标准许可证在SharePoint Server 订阅版上启用Project Server 订阅版。

注意

有关如何安装新的Project Server 订阅版场的详细信息,请参阅部署 Project Server 2016 或 2019 或 Subscription Edition

复制并移动数据库

升级过程中的第二步是将 Project Server 2016 或 2019 环境所需的数据库复制到新的Project Server 订阅版环境。 此过程分为两步:

  1. 如果 SharePoint Server 2016 或 2019 场处于只读模式,服务器场管理员将从 SQL Server 实例备份以下数据库:

    • 包含项目数据的 SharePoint Server 2016 或 2019 内容数据库
  2. 服务器场管理员将数据库的备份副本还原到用于托管Project Server 订阅版场数据库的 SQL Server 2019 实例。

可以使用 SQL Server Management Studio 复制和还原数据库。

附加和升级 SharePoint Server 2016 或 2019 内容数据库

升级过程中的第三步是将包含 Project 网站数据的 SharePoint Server 2016 或 2019 内容数据库附加到新的Project Server 订阅版场。

需要运行 SharePoint 订阅版命令行管理程序中 的 Mount -SPContentDatabase PowerShell cmdlet 才能执行此操作。

  1. 以管理员身份打开 SharePoint 订阅版本命令行管理程序。

  2. 在 PowerShell 命令提示符下,键入:

    Mount-SPContentDatabase -Name <database name> -WebApplication <Web application name>

    例如:

    Mount-SPContentDatabase -Name WSSContentContosoPWA -WebApplication "SharePoint 80"

测试内容数据库

升级的第四步是测试新附加和升级的内容数据库。 你将使用 Test-SPContentDatabase PowerShell cmdlet 针对指定的 Web 应用程序进行测试,以验证内容数据库中引用的所有自定义项是否也安装在新的 SharePoint Server 订阅版 环境中的 Web 应用程序中。 此 cmdlet 绝不会更新数据。

  1. 以管理员身份打开 SharePoint 订阅版本命令行管理程序。

  2. 在 PowerShell 命令提示符下,键入:

    Test-SPContentDatabase -Name <database name> -WebApplication <Web application name>

    例如:

    Test-SPContentDatabase -Name WSSContentContosoPWA -WebApplication "SharePoint 80"

    这将针对 WSSContentContosoPWA 数据库中引用的自定义项检查"SharePoint - 80"Web 应用程序,并将发布结果。

Test-SPContentDatabase cmdlet 的结果将注意到它在其新SharePoint Server 订阅版环境中升级的 SharePoint Web 应用程序中发现的不一致。 结果并不表示 SharePoint 2016 或 2019 内容数据库的升级失败,但只会记下需要在新环境中查看的内容。 下面是一些可能会在结果中显示的检查。

检查 SharePoint Server 2016 或 2019 内容数据库以获取资源计划迁移信息

查看 MSP_RESOURCE_PLANS 表中的以下列:

RESPLAN_IS_MIGRATED
"0"表示未迁移
"1"表示已迁移
MIGRATED_REV_COUNTER
显示的值是迁移此资源计划所尝试的次数。 如果重复运行命令,此值每次都会累加,最大值为 50。
MIGRATION_ERROR_INFO
提供了有关迁移的更多信息:
MissingResources=1,后跟缺少的资源列表
AccessDenied=2,后跟所有附加信息
DatabaseError=3,后跟所有附加信息
Unknown=4,后跟所有附加信息

可以查看要迁移的特定 PWA 网站是否有关联的资源计划。 为此,可以使用下面的 SQL 查询:

SELECT *
  FROM [DBName].[pjpub].[MSP_RESOURCE_PLANS] where SiteId = <SiteId>

网站的每个资源计划在此表中各占一行(一个项目可以有 0 或 1 个资源计划)。

若要获取 PWA 站点的 SiteID 值,请在 SharePoint Server 订阅版 命令行管理程序中运行以下 PowerShell 命令:

$site = get-spsite <SiteUrl>
$site.ID

查看 ULS 日志了解详情

" category:Engagements (PWA)"中的以下标记可能包含实用信息,有助于排查与资源计划迁移相关的任何问题:

  • tag_a5h65

  • tag_a5h66

  • tag_a1kg8

  • tag_a3qj3

  • tag_a1khb

  • tag_a5h67

  • tag_a1khf

  • tag_a2ifm

  • tag_a4bic

  • tag_a1khh

  • tag_a2ifo