将内容数据库从 SharePoint 2010 升级到 SharePoint 2013
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
当您从 SharePoint 2010 产品升级到 SharePoint 2013 时,必须使用数据库附加升级,这意味着只升级环境内容而不升级配置设置。 配置 SharePoint 2013 环境、复制内容和服务应用程序数据库并升级服务应用程序后,您可以将内容数据库附加并升级到 SharePoint 2013。 本文介绍将内容数据库附加和升级到 SharePoint 2013 所要执行的步骤。
本文不提供如何升级网站集的步骤。 升级网站集的过程与升级数据库的过程是分开的。 有关升级网站集的步骤,请参阅 将网站集升级到 SharePoint 2013。
升级过程的第 4 阶段:升级内容数据库:
阶段 | 说明 |
---|---|
这是将 SharePoint 2010 产品数据和网站升级到 SharePoint 2013 的过程中的第四个阶段。 此过程包括下列必须按顺序完成的阶段: 为数据库创建 SharePoint 2013 场将 upgradeCopy 数据库附加到新场,以便升级到 SharePoint 2013Upgrade 服务应用程序到 SharePoint 2013Upgrade 内容数据库从 SharePoint 2010 升级到 SharePoint 2013 (此阶段) 将网站集升级到 SharePoint 2013 有关整个过程概述, 请参阅 从 SharePoint 2010 升级到 SharePoint 2013 的升级过程概述 和升级过程模型 下载升级过程模型 |
重要
本文适用于 SharePoint Foundation 2013 和 SharePoint 2013。
观看 SharePoint 2013 升级:阶段 4 视频
开始之前
附加和升级内容数据库之前,请阅读以下信息并执行所有建议的操作。
确保用于附加数据库的帐户是要升级的内容数据库的 db_owner 固定数据库角色的成员。
确保用于创建 Web 应用程序的帐户是管理中心的 Farm administrators 组的成员。
创建 Web 应用程序
为 SharePoint 2010 产品环境中存在的每个 Web 应用程序创建一个 Web 应用程序。 对于每个 Web 应用程序,执行以下操作:
使用相同的 URL(包括名称、端口和主机头)并配置备用访问映射设置。
如果您使用的是其他 URL,则 Office 应用程序可能无法正确重定向到新 URL,并且所有旧 URL 的书签将不起作用。
使用相同的身份验证方法。
例如,如果在旧环境中使用 Windows 经典身份验证,并且想要继续使用它,则必须创建使用 Windows 经典身份验证的 Web 应用程序。 由于基于声明的身份验证现在是 SharePoint 2013 的默认选项,因此必须使用 PowerShell 创建使用 Windows 经典身份验证的 Web 应用程序。 如果所需的结果是使用基于声明的身份验证,请在 SharePoint 2013 中创建新的 Web 应用程序作为基于声明的 Web 应用程序,而不是 Windows 经典身份验证。
若要迁移到声明身份验证,请参阅 在 SharePoint 2013 中从经典模式迁移到基于声明的身份验证。
重新创建包含的路径。
重新创建配额模板。
为 Web 应用程序配置电子邮件设置。
有关详细信息,请参阅 为 SharePoint Server 场配置电子邮件集成。
为以前环境中使用的任何 Web 应用程序启用自助式网站创建。 重新创建任何自助式网站创建设置。
在承载"My Sites"的 Web 应用程序上创建"My Sites"(/personal) 的管理路径。 "My Sites"仅适用于 SharePoint Server。
重新创建已在之前的环境中配置的任何 Web 应用程序策略或其他 Web 应用程序设置。
重新应用自定义项
升级期间发生失败的一个常见原因是,新环境不具有自定义的功能、解决方案或其他元素。 在升级任何内容数据库之前,请确保在前端 Web 服务器上安装了 SharePoint 2010 产品环境中的所有自定义元素。
在此步骤中,手动将所有自定义项传输到新服务器场中。 确保安装了您的网站正常工作所依赖的任何组件,例如:
自定义网站定义
自定义样式表,如级联样式表和图像
自定义 Web 部件
自定义 Web 服务
自定义功能和解决方案
自定义程序集
Web.config 更改(如安全性)
确保将每个 Web 应用程序的所有唯一设置从 Web.config 文件传输到新服务器。
InfoPath 的经管理员核准的表单模板(.xsn 文件)和数据连接文件(.udcx 文件)。 InfoPath 仅适用于 SharePoint Server 2010。
您的网站依赖的任何其他组件或文件。
SharePoint 2013 可以在 SharePoint 2010 产品和 SharePoint 2013 模式下托管网站。 SharePoint 2013 安装包含许多元素的 SharePoint 2010 产品和 SharePoint 2013 版本。 文件系统上的目录将在 14 和 15 路径上重复,例如:
Web Server Extensions/14/TEMPLATE/Features
Web Server Extensions/15/TEMPLATE/Features
还有两个版本的 IIS 支持目录:_Layouts、_Layouts/15 和 _ControlTemplates,_ControlTemplates/15。
确保将自定义项安装到新服务器场中的正确位置。 例如,SharePoint 2010 产品的其他样式表应安装在 /14 路径中,而不是新的 /15 路径中,以便尚未升级的网站集可以使用它们。 如果希望解决方案可供两个路径使用,请将其安装两次,在第二次安装时使用 CompatibilityLevel 参数,该解决方案即会安装到 /15 路径。 有关详细信息,请参阅 Install-SPSolution。
有关如何更新在 SharePoint 2013 中使用的自定义项的详细信息,请参阅 在 SharePoint Foundation 2010 和 SharePoint Server 2010 中重新部署自定义项和解决方案。 有关如何将自定义项部署到环境的详细信息,请参阅 安装和管理解决方案的 SharePoint Server。
验证自定义组件
若要确保已识别环境的所有自定义组件,请在 SharePoint 2010 产品环境中使用 Stsadm -o enumallwebs 操作,并使用 includefeatures 和 includewebparts 参数。 此操作可以报告模板、功能、Web 部件以及其他用于每个网站的自定义元素。 有关如何使用 enumallwebs 操作的详细信息,请参阅 Enumallwebs:Stsadm 操作 (Office SharePoint Server) 和 Clean up an environment before an upgrade to SharePoint 2013。
还可以在 SharePoint 2010 产品环境中使用 Get-SPWeb Microsoft PowerShell cmdlet 查看与每个网站关联的模板,然后验证该模板是否已安装在 SharePoint 2013 环境中。 有关此操作的详细信息,请参阅 Get-SPWeb。
在将内容数据库附加到 Web 应用程序之前,请使用 Test-SPContentDatabase Microsoft PowerShell cmdlet 验证是否具有该数据库必须拥有的所有自定义组件。
若要使用 PowerShell 验证自定义组件是否可用,请执行以下操作:
- 确认您具有以下成员身份:
SQL Server 实例上的 securityadmin 固定服务器角色。
要更新的所有数据库上的 db_owner 固定数据库角色。
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可使用 Add-SPShellAdmin cmdlet 来授予使用 SharePoint 2013 cmdlet 的权限。
注意
[!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
启动 SharePoint 命令行管理程序。
在 PowerShell 命令提示符处,键入以下命令:
Test-SPContentDatabase -Name DatabaseName -WebApplication URL
其中:
DatabaseName 是要测试的数据库的名称。
URL 是将承载网站的 Web 应用程序的 URL。
有关详细信息,请参阅 Test-SPContentDatabase。
将内容数据库附加到 Web 应用程序并升级该数据库
在附加内容数据库时,将升级该数据库并会将该数据库中的网站集添加到你指定的 Web 应用程序。 但是,对于 SharePoint 2013,该过程不会升级网站集。
附加内容数据库时,对于跨多个内容数据库的 Web 应用程序,首先应确保附加了包含根网站集的内容数据库。 附加内容数据库时,请将 Web 应用程序的根站点包含在附加的第一个内容数据库中。 换句话说,在继续之前,请检查 SharePoint 2010 产品服务器场中 Web 应用程序的根,以确定第一个网站集。 附加包含根网站的数据库之后,可以按任意顺序为 Web 应用程序附加其他内容数据库。 在附加数据库前,不需要创建任何网站集以存储内容。 此过程附加内容数据库和该数据库中的网站集。 请确保在还原所有内容数据库之前不添加任何新网站集。
提示
[!提示] 内容数据库中的每个网站集均有一个在配置数据库中注册且与网站集关联的 GUID。 因此,您无法将相同的网站集添加到服务器场两次,即使是单独的 Web 应用程序中也是如此。 虽然您可以在此情况下成功附加数据库,但无法浏览到网站集。 > 如果同一场中必须有网站集的副本,请先将包含该网站集的数据库附加到单独的场,然后使用 Backup-SPSite 和 Restore-SPSite PowerShell cmdlet 将网站集复制到另一个场。 备份和还原过程将为网站集创建新的 GUID。 有关这些 cmdlet 的详细信息,请参阅 Backup-SPSite 和 Restore-SPSite。
对于"My Sites",请先附加包含"我的网站"宿主的内容数据库,然后再附加包含"My Sites"的数据库。
默认情况下,在新的 SharePoint 2013 环境中创建 Web 应用程序时,会为每个 Web 应用程序创建一个内容数据库。 在附加 SharePoint 2010 产品数据库之前,可以忽略这些默认数据库,然后可以删除默认数据库。
重要
如果跨域或跨林移动内容数据库或将其移动到其他使用不同的服务帐户的环境中,请首先确保这些服务帐户的权限仍正确,然后再附加数据库。
必须使用 Mount-SPContentDatabase cmdlet 将内容数据库附加到 Web 应用程序。 在升级期间,不支持使用 SharePoint 管理中心页面附加内容数据库。
确保用于附加数据库的帐户是要升级的内容数据库的 db_owner 固定数据库角色的成员。
注意
[!注意] 升级失败的一个常见原因是环境中缺少自定义的功能、解决方案或其他元素。 在开始升级过程之前,请确保在 SharePoint 2013 环境中的前端 Web 服务器上安装了 SharePoint 2010 产品环境中的所有自定义元素。 使用 test-spcontentdatabase Microsoft PowerShell cmdlet 来标识网站可能缺少的自定义元素。
若要使用 PowerShell 将内容数据库附加到 Web 应用程序,请执行以下操作:
- 确认您具有以下成员身份:
SQL Server 实例上的 securityadmin 固定服务器角色。
要更新的所有数据库上的 db_owner 固定数据库角色。
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可使用 Add-SPShellAdmin cmdlet 来授予使用 SharePoint 2013 cmdlet 的权限。
注意
[!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
启动 SharePoint 命令行管理程序。
在 PowerShell 命令提示符处,键入以下命令,然后按 ENTER :
Mount-SPContentDatabase -Name DatabaseName -DatabaseServer ServerName -WebApplication URL
其中:
DatabaseName 是要升级的数据库的名称。
ServerName 是在其上存储数据库的服务器。
URL 是将承载网站的 Web 应用程序的 URL。
有关详细信息,请参阅 Mount-SPContentDatabase。
提示
若要从 SharePoint Foundation 2010 升级到 SharePoint 2013,请将 SharePoint Foundation 2010 内容数据库直接附加到 SharePoint 2013 环境。 只需按照本文中的相同步骤操作,但使用 SharePoint Foundation 2010 数据库和 SharePoint 2013 场。 升级过程将同时升级版本和产品。
验证:验证第一个数据库的升级
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. 有关验证升级和故障排除的详细信息,请参阅 在 SharePoint 2013 中验证数据库升级和对 SharePoint 2013的升级进行测试和故障排除。
查看"升级状态"页的具体步骤
确认执行此过程的用户帐户是数据库的 db_owner 固定数据库角色的成员。
在管理中心中,单击“升级和迁移”,然后单击“检查升级状态”。
若要查看升级日志文件,请执行以下操作:
升级错误日志文件和升级日志文件位于 %COMMONPROGRAMFILES%\Microsoft Shared\Web 服务器扩展\15\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 2013 升级日志的格式基于与 ULS 相同的结构。 > 升级日志文件包括正在升级的内容数据库的名称。
若要使用 PowerShell 查看所有数据库的升级状态,请执行以下操作:
- 确认您具有以下成员身份:
SQL Server 实例上的 securityadmin 固定服务器角色。
要更新的所有数据库上的 db_owner 固定数据库角色。
运行 PowerShell cmdlet 的服务器上的 Administrators 组。
管理员可使用 Add-SPShellAdmin cmdlet 来授予使用 SharePoint 2013 cmdlet 的权限。
注意
[!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的其他信息,请参阅 Add-SPShellAdmin。
启动 SharePoint 命令行管理程序。
在 PowerShell 命令提示符处,键入以下命令:
Get-SPContentDatabase | ft Name, NeedsUpgradeIncludeChildren
此 cmdlet 返回服务器场中数据库的表样式列表,并指示数据库是否需要升级到 SharePoint2013。
附加其余的数据库
在还原第一个内容数据库并确认还原成功后,可以继续还原和升级其他数据库。 可以执行并行数据库附加升级来一次性升级多个数据库。 使用单独的命令提示符窗口运行多个升级。 建议你将每个新的数据库升级会话的启动时间隔开几分钟,以预防附加期间出现 Web 应用程序被临时锁定的问题。 否则,你可能会收到升级会话错误。 清除临时锁定的等待时间是可变的,具体取决于网站集数或数据库服务器硬件的运行速度。
验证:验证其他数据库的升级
升级所有附加数据库后,查看"升级状态"页以监视进度并验证升级过程是否已完成。 查看日志文件以确定任何其他问题。
后续步骤
升级数据库后,您可能要执行附加步骤来确保您的服务器场以可供使用。 例如:
验证网站集在 2010 模式下是否按预期工作。
直观查看网站集。 可以使用与查看升级到 SharePoint Server 2016 的网站集中为已升级网站提供的审阅列表类似的审阅列表。
将用户帐户迁移到声明身份验证(如有必要)。
默认情况下,SharePoint 2013 中的新 Web 应用程序使用声明身份验证。 如果在以前环境中使用的是经典身份验证,则必须将用户迁移到声明身份验证。 有关详细信息,请参阅在 SharePoint 2013 中从经典模式身份验证迁移到基于声明的身份验证。
更新在任何已升级的 InfoPath 表单模板中使用的链接。
对于数据库附加升级,当您创建新环境时,您已在环境中导出和导入所有 InfoPath 表单模板。 在升级后,您就可以通过使用 Microsoft PowerShell cmdlet 对在那些已升级的表单模板中使用的链接进行更新,使链接指向正确的 URL。
有关详细信息,请参阅配置 InfoPath Forms Services (SharePoint Server 2010)。
InfoPath 仅适用于 SharePoint Server。
配置搜索拓扑
SharePoint 2013 的 Search Service 体系结构已更改。 规划和配置搜索拓扑以便适合您的环境和新体系结构。 有关详细信息,请参阅SharePoint Server 中 Internet 网站的扩展搜索 和 在 SharePoint Server 中管理搜索拓扑。
执行完全爬网
有关详细信息,请参阅 Start, pause, resume, or stop a crawl in SharePoint Server。
备份服务器场
有关详细信息,请参阅 在 SharePoint Server 中备份服务器场。
尽管 SharePoint Foundation 2013 包含搜索功能,但它与 SharePoint 2013 中的搜索服务应用程序不同。 这些步骤仅适用于 SharePoint 2013。
场准备就绪后,可以启用对用户的访问权限,然后开始升级网站集。 有关如何升级网站集的信息,请参阅 将网站集升级到 SharePoint 2013。
阶段 | 说明 |
---|---|
这是将 SharePoint 2010 产品数据和网站升级到 SharePoint 2013 的过程中的第四个阶段。 下一阶段: 将网站集升级到 SharePoint 2013 有关整个过程的概述,请参阅 从 SharePoint 2010 升级到 SharePoint 2013 的过程概述。 |