在 SharePoint 2013 中解决数据库升级问题

适用于:yes-img-132013 no-img-162016 no-img-192019 no-img-se订阅版 no-img-sopSharePoint in Microsoft 365

即使通过对升级过程进行测试确定潜在问题之后,在从 SharePoint 2010 产品升级到 SharePoint 2013 的过程中仍有可能会遇到意外问题。 如果在升级后遇到问题,那么检测并修复问题的速度越快,最终用户的体验就越好。

本文包括常见问题的列表,并介绍了用于帮助您确定和解决升级问题的一般原则。 在确定并解决这些问题后,即可继续升级。 有关如何继续升级的详细信息,请参阅重新启动至 SharePoint 2013 的数据库附加升级或网站集升级

用于确定问题的一般原则

检查升级状态确定升级停止的位置(如果已停止),并检查日志文件查找错误或警告。 接下来,解决您发现的问题,然后再继续升级。

首先,检查升级状态和日志文件

升级状态指示符和日志文件指示升级过程中出现了什么问题。 建议您仔细查看升级日志文件中记录的所有错误。 警告可能并不总是表示存在问题,但还是应查看所有警告,以确定是否有任何警告可能引起更多问题。

  1. 查看 SharePoint 管理中心网站中的"升级状态"页。

    有关如何检查升级状态的详细信息,请参阅在 SharePoint 2013 中验证数据库升级

  2. 查看以下日志文件:

  • 升级错误日志文件和升级日志文件(后者比前者包含更多详细信息)。

  • ULS 或跟踪日志文件。

    这些文件存储在 %COMMONPROGRAMFILES%\Microsoft Shared\Web Server Extensions\15\LOGS 文件夹中,名为 Servername_ YYYYMMDD- MMSS.log

  • 应用程序事件日志文件。

    使用事件查看器可以查看此文件。

    有关升级日志文件的详细信息,请参阅在 SharePoint 2013 中验证数据库升级。 有关跟踪日志文件的详细信息,请参阅 MSDN 中的 Trace Logs(跟踪日志)。

然后,按顺序解决问题

有些问题的影响比其他问题大。 例如,缺少服务器端文件会导致许多看似无关的网站级别错误。

请按以下顺序解决问题:

  1. 缺少服务器端文件或自定义,如功能或 Web 部件。

    确保安装所有服务器端自定义项,如功能、Web 部件等。 确保将自定义项安装到新服务器场中的正确位置。 例如,您必须拥有的针对 SharePoint 2010 产品的其他样式表应安装在 /14 路径而不是新的 /15 路径,以便未升级的网站集能够使用这些样式表。 此外,请确保将每个 Web 应用程序的 Web.config 文件中的所有唯一设置传输到新的服务器。

  2. 服务器场、Web 应用程序或服务应用程序中的配置问题,如管理路径或服务应用程序未启动。

  3. 您从关注度较高且非常重要的网站开始逐个网站发现的其他问题。

在确定并修复首要问题时,可以尝试再次运行升级,以查看升级过程中的任何后续问题是否已经修复。

常见问题

通过检查确定是否有以下任何问题将导致升级错误或警告。

问:我需要从预发行版的 SharePoint 2013进行升级

  • 答:不支持从预发行版的 SharePoint 2013升级到发行版的 SharePoint 2013。

    预发行版仅用于测试目的,不应在生产环境中使用。 此外,不支持从一个预发行版升级到另一个预发行版。

问:日志指示我丢失了模板、功能或其他服务器端自定义项

  • 答:标识所有服务器端自定义项,并在升级之前安装它们

升级期间的一个常见错误是服务器端文件(随 SharePoint 2010 产品安装的文件或自定义文件)丢失。 在准备升级时,应创建网站所需要的服务器端自定义项(如网站定义、模板、功能、Web 部件和程序集)的清单。 检查此清单可确保新环境中已安装自定义项所需要的所有文件。

在升级数据库以识别缺少的文件之前,可以使用 test-spcontentdatabase Microsoft PowerShell cmdlet。 您还可以使用 Stsadm.exe 中的 enumallwebs 操作来确定正在使用的服务器端自定义项。

在升级日志文件中,可能会看到类似如下的错误:

  • 错误: 在内容数据库"内容数据库名称"中找到"引用计数"个使用丢失的 Web 模板"网站模板标识符"(lcid: 网站模板语言代码)的网站。

  • 错误 发现缺少的功能 ID = [功能标识符]

  • 警告 文件 [相对文件路径] 在数据库中引用 [引用计数] 次,但未安装在当前场上。

  • 警告 WebPart 类 [Web 部件标识符] 在数据库中引用 [引用计数] 次,但未安装在当前场上。

  • 警告 程序集 [程序集路径] 在数据库中引用,但未安装在当前场上。

  • 警告: 无法升级功能。 异常:找不到功能定义 ID“功能标识符”。

如果可以获取丢失的服务器端文件或依赖项,请安装它,然后为受影响的网站再次运行升级。 如果该文件或依赖项(如 Web 部件)已被弃用,则必须研究您是否要重新构建该网站、页面或 Web 部件,以使用不同的模板、功能或 Web 部件。 如果能够使用未弃用的依赖项来恢复自定义设置,则可以再次为受影响的网站运行升级。 如果无法删除依赖项,则不能升级该网站。

安装缺少的文件或依赖项后,请在测试服务器上使用 test-SPContentDatabase Microsoft PowerShell cmdlet 来确定是否缺少该数据库的任何其他文件。 如果您只再次运行升级,日志文件中可能不会出现错误,但仍有可能会发生错误。

问:日志文件指示我的服务器场、Web 应用程序或服务应用程序配置设置存在问题

  • 答:验证服务器场和 Web 应用程序设置。

  • 答:创建并启动缺少的服务应用程序

  • 答:验证是否已为每个 Web 应用程序配置了适当的管理路径(包括的路径)。

在升级日志文件中,可能会看到类似如下的错误:

  • 错误模板 模板 ID:SPSite Id= 站点 ID 因异常而无法访问。 正在对 SPWeb Id= Web Id 跳过模板升级。 异常: System.IO.FileNotFoundException: 找不到 ID 为 网站 ID 的网站。

    此错误指示缺少管理路径。 请将网站集的管理路径添加到 Web 应用程序中,并为包含此网站集的内容数据库重新启动升级。

问:升级期间出现有关连接性或损坏的错误和警告

  • 答: 验证您的电源连接以及与网络和 SQL Server 的连接。 丢失与数据源的连接会导致出现错误。 如果服务器无法连接数据库,则不能对其进行升级。

问:磁盘空间不足

  • 答: 请释放一些空间,或增大事务日志文件的大小,然后再继续升级。 如果磁盘空间不足(例如,对于数据库服务器上的事务日志文件),则升级无法继续。

    有关详细信息,请参阅管理事务日志文件的大小

问:我看到一个有关身份验证的错误

  • 答:请确保 Web 应用程序使用的是正确的身份验证方法。

在升级时,身份验证方法出现不匹配的情况会导致此问题。 如果您的身份验证方法出现不匹配的情况,以下资源可提供帮助:

  • 经典到声明身份验证

    请确保您在 SharePoint 2013中创建的 Web 应用程序使用的身份验证方法与 SharePoint 2010 产品中使用的身份验证方法相同。 基于声明的身份验证是 SharePoint 2013中的 Web 应用程序的默认身份验证方法。 如果 Web 应用程序使用的是经典模式,则可以在升级数据库之前将其更新为声明,也可以在经典模式下创建 Web 应用程序并将其迁移到声明。 有关如何创建使用经典模式的 Web 应用程序,然后迁移到声明的详细信息,请参阅 [在 SharePoint Server 中创建使用经典模式身份验证的 Web 应用程序]/previous-versions/office/sharepoint-server-2010/gg276326 (v=office.14) ) 和 在 SharePoint 2013 中从经典模式迁移到基于声明的身份验证

  • 基于表单的身份验证

    如果要升级的环境使用基于表单的身份验证,则需执行附加步骤。 按照在 SharePoint Server 中为基于声明的 Web 应用程序配置基于表单的身份验证 中的步骤升级基于表单的身份验证提供程序。

问:SQL Server 指示我没有权限

  • 答: 如果收到有关未知帐户的错误,或者数据库未升级,请检查数据库的权限。 具体而言,在 SQL Server 实例之间,确保验证是否正确配置了安全性。 请检查您使用的登录帐户对数据库是否具有适当的固定角色和权限,以及这些帐户在您进行跨域升级时是否仍有效。

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

问:数据库无法升级

  • **A: ** Verify that the database is not set to read-only. You cannot upgrade a database that is set to read-only. Make sure that you set the databases to read-write before you attach and upgrade the databases.

问:我在还原期间更改了数据库名称,但我找不到具有该名称的文件

  • **答:**如果你在还原时重命名数据库,则还必须在文件系统中重命名数据库和日志文件(MDF 和 LDF 文件)名称,以使其匹配。

问:我无法备份 Search Service 应用程序管理数据库

  • **A: ** Before you can back up the Search service application Administration database, you must stop the Search service on your SharePoint Server 2010 farm. To stop the Search service, on the original farm, on the Start menu, click Administrative Tools, and then click Services. Right-click SharePoint Server Search 14, and then click Stop. Be sure to start the service again after you back up the database.

问:升级后,受信任的、连接对 Excel Services 不起作用

  • **答:**在升级之后,必须手动为 Excel Services 创建所有受信任的数据连接。

问:我的工作流不再正确关联

  • **A: ** Verify that the Workflow Auto Cleanup timer job is turned off. If you had disabled the Workflow Auto Cleanup timer job in your SharePoint 2010 Products environment, make sure that you disable this timer job in the new environment also. If this timer job is enabled in the new environment and disabled in the SharePoint 2010 Products environment, you might lose workflow associations when you upgrade.

问:我在升级后将用户从传统的身份验证迁移到了基于声明的身份验证。 但有些用户的信息已过期。

  • **答:**对于用户配置文件的问题,请确保已运行“用户配置文件与 SharePoint 完全同步”作业。

    如果您在迁移过程完成之前启动"用户个人资料与 SharePoint 完全同步"作业(不论是自动还是手动),有些用户可能无法迁移。 迁移完成后,可以在 Microsoft PowerShell 中运行以下 cmdlet 以清除同步数据,然后可以再次运行用户配置文件到 SharePoint 的完全同步作业以包括其他用户。

    $database = Get-SPContentDatabase "DatabaseName"
    [Microsoft.Office.Server.UserProfiles.WSSProfileSynch]::ClearSyncDataForContentDatabase($database)
    

    其中 ,DatabaseName 是与过期用户配置文件关联的网站集的内容数据库的名称。

  • **答:**确认用户存在于 Active Directory 域中。

    如果用户不存在,您可以将该用户指定为已在 UserInfo 表中删除。 如果该用户不存在,您可以再次运行迁移。 有关详细信息,请参阅在 SharePoint 2013 中从经典模式身份验证迁移到基于声明的身份验证

另请参阅

其他资源

尝试升级到 SharePoint 2013 以查找潜在问题

在 SharePoint 2013 中验证数据库升级

查看已升级到 SharePoint 2013 的网站集

[重启数据库附加升级或网站集升级到 SharePoint 2013] (/previous-versions/office/sharepoint-server-2010/ff382638 (v=office.14)