将内容数据库升级到 SharePoint Server 2016

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

当您从 SharePoint Server 2013 Service Pack 1 (SP1) 升级到 SharePoint Server 2016 时,必须使用数据库附加升级,这意味着只升级环境内容而不升级配置设置。 配置 SharePoint Server 2016 环境、复制内容和服务应用程序数据库以及升级服务应用程序之后,您可以将内容数据库附加和升级到 SharePoint Server 2016。 本文介绍了将内容数据库附加和升级到 SharePoint Server 2016 的步骤。

升级过程的第 4 阶段:升级内容数据库

升级过程的第 4 阶段:升级内容数据库

阶段 说明
123 步骤 这是将 SharePoint Server 2013 Service Pack 1 (SP1) 数据和站点升级到 SharePoint Server 2016 的过程的第 4 阶段。 此过程包括下列必须按顺序完成的阶段:
创建 SharePoint Server 2016 场以执行数据库附加升级
将数据库复制到新服务器场以升级到 SharePoint Server 2016
将服务应用程序升级到 SharePoint Server 2016
将内容数据库升级到 SharePoint Server 2016 (本阶段)
有关整个过程的概述,请参阅 SharePoint Server 2016 的升级过程概述

准备工作

附加和升级内容数据库之前,请阅读以下信息并执行所有建议的操作。

  • 确保用于附加数据库的帐户是要升级的内容数据库的 db_owner 固定数据库角色的成员。

  • 确保用于创建 Web 应用程序的帐户是管理中心的 Farm administrators 组的成员。

创建 Web 应用程序

为位于 SharePoint Server 2013 Service Pack 1 (SP1) 环境中的每个 Web 应用程序创建一个 Web 应用程序。 对于每个 Web 应用程序,执行以下操作:

  • 使用相同的 URL(包括名称、端口和主机头)并配置备用访问映射设置。

    如果您使用的是其他 URL,则 Office 应用程序可能无法正确重定向到新 URL,并且所有旧 URL 的书签将不起作用。

  • 使用相同的身份验证方法。

    例如,如果在旧环境中使用 Windows 经典身份验证,并且想要继续使用它,则必须创建使用 Windows 经典身份验证的 Web 应用程序。 由于基于声明的身份验证现在是 SharePoint Server 2016 的默认选项,因此必须使用 PowerShell 创建使用 Windows 经典身份验证的 Web 应用程序。 .

  • 重新创建托管路径。

  • 重新创建配额模板。

  • 为 Web 应用程序配置电子邮件设置。

  • 为以前环境中使用的任何 Web 应用程序启用自助式网站创建。 重新创建任何自助式网站创建设置。

  • 在承载"My Sites"的 Web 应用程序上创建"My Sites"(/personal) 的管理路径。 "My Sites"仅适用于 SharePoint Server。

  • 重新创建已在之前的环境中配置的任何 Web 应用程序策略或其他 Web 应用程序设置。

重新应用自定义项

升级期间发生失败的一个常见原因是,新环境不具有自定义的功能、解决方案或其他元素。 请先确保 SharePoint Server 2013 Service Pack 1 (SP1)环境中的所有自定义元素都安装在您的前端 Web 服务器上,然后再升级任何内容数据库。

在此步骤中,手动将所有自定义项传输到新服务器场中。 确保安装了您的网站正常工作所依赖的任何组件,例如:

  • 自定义网站定义

  • 自定义样式表,如级联样式表和图像

  • 自定义 Web 部件

  • 自定义 Web 服务

  • 自定义功能和解决方案

  • 自定义程序集

  • Web.config 更改(如安全性)

    确保将每个 Web 应用程序的所有唯一设置从 Web.config 文件传输到新服务器。

  • InfoPath 的经管理员核准的表单模板(.xsn 文件)和数据连接文件(.udcx 文件)。 InfoPath 仅适用于 SharePoint Server 2010。

  • 您的网站依赖的任何其他组件或文件。

SharePoint Server 2016 的安装同时包含多个元素的 SharePoint Server 2013 Service Pack 1 (SP1) 和 SharePoint Server 2016 版本。 文件系统上的目录将在 15 和 16 路径上重复,例如:

  • Web Server Extensions/15/TEMPLATE/Features

  • Web Server Extensions/16/TEMPLATE/Features

还有两个版本的 IIS 支持目录:_Layouts 和 _Layouts/16 以及 _ControlTemplates 和 _ControlTemplates/16。

确保将自定义项安装到新服务器场中的正确位置。 例如,SharePoint Server 2013 Service Pack 1 (SP1) 的其他样式表应安装在 /15 路径而不是新的 /16 路径中,以便尚未升级的网站集可使用它们。 如果你希望一个解决方案同时对这两个路径可用,请安装两次,并且在第二次安装它时将使用 CompatibilityLevel 参数,然后它将安装到 /16 路径。 有关详细信息,请参阅 Install-SPSolution

验证自定义组件

若要确保你已标识环境的所有自定义组件,请使用 SharePoint Server 2013 Service Pack 1 (SP1) 环境中的 Stsadm -o enumallwebs 操作并使用 includefeaturesincludewebparts 参数。 此操作可以报告模板、功能、Web 部件以及其他用于每个网站的自定义元素。 有关如何使用 enumallwebs 操作的详细信息,请参阅 Enumallwebs:Stsadm 操作 (Office SharePoint Server)Clean up an environment before an upgrade to SharePoint 2013

您还可以使用 SharePoint Server 2013 Service Pack 1 (SP1) 环境中的 Get-SPWeb cmdlet 查看与每个网站关联的模板,然后验证该模板是否已安装到您的 SharePoint Server 2016 环境中。 有关此操作的详细信息,请参阅 Get-SPWeb

在将内容数据库附加到 Web 应用程序之前,请使用 Test-SPContentDatabase cmdlet 验证您是否拥有该数据库必需的所有自定义组件。

使用 PowerShell 验证自定义组件是否可用的具体步骤

  1. 确认您具有以下成员身份:
  • SQL Server 实例上的 securityadmin 固定服务器角色。

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

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

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

    注意

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

  1. 启动 SharePoint 2016 命令行管理程序。
  • 对于 Windows Server 2012 R2:

  • “开始” 屏幕上,选择“ SharePoint 2016 命令行管理程序”。

    如果“SharePoint 2016 命令行管理程序”不在“开始”屏幕上:

  • 右键单击“ 计算机”,选择“ 所有应用”,然后选择“ SharePoint 2016 命令行管理程序”。

    有关如何与 Windows Server 2012 R2 交互的详细信息,请参阅 Windows Server 2012 中的常见管理任务和导航

  1. 在 PowerShell 命令提示符处,键入以下命令:
Test-SPContentDatabase -Name DatabaseName -WebApplication URL
Where:
  • DatabaseName 是要测试的数据库的名称。

  • URL 是将承载网站的 Web 应用程序的 URL。

有关详细信息,请参阅 Test-SPContentDatabase。

将内容数据库附加到 Web 应用程序并升级该数据库

在附加内容数据库时,将升级该数据库并会将该数据库中的网站集添加到你指定的 Web 应用程序。 升级数据库后,默认自动启动网站集升级过程。

附加内容数据库时,对于跨多个内容数据库的 Web 应用程序,首先应确保附加了包含根网站集的内容数据库。 换言之,在继续进行之前,检查 SharePoint Server 2013 Service Pack 1 (SP1) 服务器场中的 Web 应用程序的根,以确定第一个网站集。 附加包含根网站的数据库之后,可以按任意顺序为 Web 应用程序附加其他内容数据库。 在附加数据库前,不需要创建任何网站集以存储内容。 此过程附加内容数据库和该数据库中的网站集。 请确保在还原所有内容数据库之前不添加任何新网站集。

提示

[!提示] 内容数据库中的每个网站集均有一个在配置数据库中注册且与网站集关联的 GUID。 因此,您无法将相同的网站集添加到服务器场两次,即使是单独的 Web 应用程序中也是如此。 虽然您可以在此情况下成功附加数据库,但无法浏览到网站集。 > 如果同一场中必须有网站集的副本,请先将包含该网站集的数据库附加到单独的场,然后使用 Backup-SPSiteRestore-SPSite PowerShell cmdlet 将网站集复制到另一个场。 备份和还原过程将为网站集创建新的 GUID。 有关这些 cmdlet 的详细信息,请参阅 Backup-SPSiteRestore-SPSite

对于"My Sites",请先附加包含"我的网站"宿主的内容数据库,然后再附加包含"My Sites"的数据库。

默认情况下,在 SharePoint Server 2016 环境中创建新的 Web 应用程序时,会为每个 Web 应用程序创建一个内容数据库。 可以忽略这些默认数据库,直到您附加了 SharePoint Server 2013 Service Pack 1 (SP1)数据库,然后您可以删除默认数据库。

重要

如果跨域或跨林移动内容数据库或将其移动到其他使用不同的服务帐户的环境中,请首先确保这些服务帐户的权限仍正确,然后再附加数据库。

注意

[!注意] 升级失败的一个常见原因是环境中缺少自定义的功能、解决方案或其他元素。 请确保 SharePoint Server 2013 Service Pack 1 (SP1) 环境中的所有自定义元素都安装在 SharePoint Server 2016 环境中的前端 Web 服务器上,然后再启动升级过程。 使用 Test-SPContentDatabase cmdlet 标识您的网站可能缺少的自定义元素。

使用 PowerShell 将内容数据库附加到 Web 应用程序的具体步骤

  1. 必须使用 Mount-SPContentDatabase cmdlet 将内容数据库附加到 Web 应用程序。 在升级期间,不支持使用 SharePoint 管理中心页面附加内容数据库。

    如果您想要延迟网站升级,则可以使用 Mount-SPContentDatabase cmdlet 的 SkipSiteUpgrade 参数。

    注意

    使用 Mount-SPContentDatabase cmdlet 附加内容数据库是用于升级 SharePoint Server 2016 中的数据库和网站集的推荐行为和选项。

    确保用于附加数据库的帐户是要升级的内容数据库的 db_owner 固定数据库角色的成员。

    确认您具有以下成员身份:

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

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

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

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

    注意

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

  1. 启动 SharePoint 2016 命令行管理程序。
  • 对于 Windows Server 2012 R2:

  • “开始” 屏幕上,选择“ SharePoint 2016 命令行管理程序”。

    如果“SharePoint 2016 命令行管理程序”不在“开始”屏幕上:

  • 右键单击“ 计算机”,选择“ 所有应用”,然后选择“ SharePoint 2016 命令行管理程序”。

    有关如何与 Windows Server 2012 R2 交互的详细信息,请参阅 Windows Server 2012 中的常见管理任务和导航

  1. 在 PowerShell 命令提示符处,键入以下命令,然后按 ENTER
Mount-SPContentDatabase -Name DatabaseName -DatabaseServer ServerName -WebApplication URL
Where:
  • DatabaseName 是要升级的数据库的名称。

  • ServerName 是在其上存储数据库的服务器。

  • URL 是将承载网站的 Web 应用程序的 URL。

有关详细信息,请参阅 Mount-SPContentDatabase。升级数据库后,会自动升级网站集。 有关如何升级网站集的其他信息,请参阅将网站集升级到 SharePoint Server 2016。

验证第一个数据库的升级

After you attach a database, you can use the Upgrade Status page in Central Administration to check the status of upgrade on your databases. After the upgrade process is complete, you can review the upgrade log file to see whether upgrade produced issues. You can use a PowerShell cmdlet to check the upgrade status for all the content databases. For more information about verifying and troubleshooting upgrade, see Verify database upgrades in SharePoint Server 2016.

查看"升级状态"页的具体步骤

  • 确认执行此过程的用户帐户是数据库的 db_owner 固定数据库角色的成员。

  • 在管理中心中,选择“ 升级和迁移”,然后选择“ 检查升级状态”。

查看升级日志文件的具体步骤

  • 升级错误日志文件和升级日志文件位于 %COMMONPROGRAMFILES%\Microsoft Shared\web server extensions\16\LOGS 中。 升级日志文件包含的信息比升级错误日志包含的信息更为详细。 请务必查看日志文件底部的摘要,以了解有关整体状态的信息和文件中的警告和错误的计数。

    这些日志是以下列格式命名的文本文件:

    • Upgrade-YYYYMMDD-HHMMSS-SSS-error.log

    • Upgrade-YYYYMMDD-HHMMSS-SSS.log

    其中

    • YYYYMMDD 是日期

    • HHMMSS-SSS 是时间(24 小时制的小时数,然后是分钟数、秒数和毫秒数)

    升级错误日志的示例是 Upgrade-20120105-132126-374-error.log,升级日志的示例是 Upgrade-20120105-132126-374.log。

    注意

    [!注意] SharePoint Server 2016 的升级日志的格式基于与 ULS 相同的结构。 > 升级日志文件包括正在升级的内容数据库的名称。

使用 PowerShell 查看所有数据库的升级状态的具体步骤

  1. 确认您具有以下成员身份:
  • SQL Server 实例上的 securityadmin 固定服务器角色。

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

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

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

    注意

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

  1. 启动 SharePoint 2016 命令行管理程序。
  • 对于 Windows Server 2012 R2:

  • “开始” 屏幕上,选择“ SharePoint 2016 命令行管理程序”。

    如果“SharePoint 2016 命令行管理程序”不在“开始”屏幕上:

  • 右键单击“ 计算机”,选择“ 所有应用”,然后选择“ SharePoint 2016 命令行管理程序”。

    有关如何与 Windows Server 2012 R2 交互的详细信息,请参阅 Windows Server 2012 中的常见管理任务和导航

  1. 在 PowerShell 命令提示符处,键入以下命令:
Get-SPContentDatabase | ft Name, NeedsUpgradeIncludeChildren

此 cmdlet 返回场中数据库的表格样式列表,并指明数据库是否需要升级到 SharePointAll_2nd_CurrentVer。

附加其余的数据库

在还原第一个内容数据库并确认还原成功后,可以继续还原和升级其他数据库。 可以执行并行数据库附加升级来一次性升级多个数据库。 使用单独的 Microsoft PowerShell 命令提示符可运行多个升级。 建议你将每个新的数据库升级会话的启动时间隔开几分钟,以预防附加期间出现 Web 应用程序被临时锁定的问题。 否则,你可能会收到升级会话错误。 清除临时锁定的等待时间是可变的,具体取决于网站集数或数据库服务器硬件的运行速度。

验证其他数据库的升级

升级所有附加数据库后,查看"升级状态"页以监视进度并验证升级过程是否已完成。 查看日志文件以确定任何其他问题。

后续步骤

升级数据库后,您可能要执行附加步骤来确保您的服务器场以可供使用。 例如:

  • 将用户帐户迁移到声明身份验证(如有必要)。

    默认情况下,SharePoint Server 2016 中的新 Web 应用程序使用声明身份验证。 如果您使用的是之前的环境中的经典身份验证,则必须将用户迁移到声明身份验证。

  • 更新在任何已升级的 InfoPath 表单模板中使用的链接。

    对于数据库附加升级,当您创建新环境时,您已在环境中导出和导入所有 InfoPath 表单模板。 升级后,可通过使用 Microsoft PowerShell cmdlet 将这些已升级的表单模板中使用的链接更新为指向正确的 URL。

    InfoPath 仅适用于 SharePoint Server。

  • 执行完全爬网

    有关详细信息,请参阅 Start, pause, resume, or stop a crawl in SharePoint Server

  • 备份服务器场

    有关详细信息,请参阅 在 SharePoint Server 中备份服务器场

阶段 说明
123 步骤 这是将 SharePoint 2010 产品 数据和站点升级到 SharePoint Server 2016 的过程的第 4 阶段。
有关整个过程的概述,请参阅SharePoint Server 2016 的升级过程概述