在升级到 SharePoint 2013 之前清理环境

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

在开始从 SharePoint 2010 产品升级到 SharePoint 2013 之前,应确保环境正常运行,并清理所有不需要升级的内容。 还可以花时间删除或重新排列内容,以便在执行升级后获得所需的结构。

要清除的项目

可以使用 Stsadm 命令行工具或 PowerShell cmdlet 删除或修复其中的许多项目。

重要

[!重要说明] 若要使用 Stsadm 命令行工具,您必须是本地计算机上的 Administrators 组的成员。 >若要在 SharePoint 命令行管理程序中使用 PowerShell cmdlet,必须具有以下成员身份: > SQL Server 实例上的 securityadmin 固定服务器角色。 > db_owner 要更新的所有数据库的固定数据库角色。 > 运行 PowerShell cmdlet 的服务器上的管理员组。

删除未使用或未充分利用的网站集和子网站

你不希望升级不需要保留的内容。 如果长时间未使用并且将来不需要它,请备份它,然后将其删除以释放存储和管理资源,提高升级性能并降低升级风险。 请务必与网站所有者或组织联系人就网站状态进行沟通-您希望在删除网站之前不需要该网站 (例如,你不希望删除符合性所需的网站(例如紧急程序),即使这些网站可能不经常更新) 。

有关如何删除网站集和子网站的详细信息,请参阅下列文章:

检查大型列表(包含大量数据的列表)

默认情况下,SharePoint 2010 产品 中启用大型列表查询限制。 此行为在 SharePoint 2013 中未更改。 如果列表非常大,并且用户使用视图或执行超过限制或限制阈值的查询,则不允许该视图或查询。 如果要从 Office 2007 版本中的服务器产品升级内容,请检查任何大型列表,并让网站所有者或列表所有者解决问题。 例如,他们可以使用筛选的视图创建索引列、将项目组织到文件夹中、对较大视图的页设置项目限制或使用外部列表。 有关大型列表限制以及如何解决大型列表问题的详细信息,请参阅 管理包含许多项的列表和库

从宽列表(包含过多列的列表)中删除多余列或者删除宽列表

宽列表是指列数超过内容数据库中的单个行宽可包含的列数的列表。 在升级过程中,数据库会变为稀疏表结构,并且正是宽列表会导致升级失败。 在升级之前,请在 PowerShell 中使用 Test-SPContentDatabase 命令来查找内容数据库中的宽列表,然后删除多余的列,或者删除宽列表。

有关列表中的最大列大小的详细信息,请参阅列限制

考虑将网站集移动到单独的数据库

如果数据库中有 5,000 个或更多网站集,请考虑将它们分解为多个数据库。 在 SharePoint 2010 产品中,在具有 9,000 个网站集时会显示默认警告,并且硬性限制为 15,000 个网站集。 在 SharePoint 2013 中,这些值已发生改变,即在具有 2,000 个网站集时会显示默认警告,并且硬性限制为 5,000 个网站集。 若要避免升级期间出现错误或升级后破坏网站,建议您将一些网站集移至单独的数据库中。 如果您有多个内容数据库,则还可以通过同时升级多个数据库来加速升级过程。

有关网站集限制的详细信息,请参阅内容数据库限制。 有关如何将网站集移动到新数据库的详细信息,请参阅在 SharePoint Server 中的数据库之间移动网站集

删除多余的文档版本

若有许多个文档版本,则会显著降低升级速度。 如果不必保留多个版本,可以让用户手动删除它们,或使用对象模型来查找和删除它们。 若要详细了解如何以编程方式删除多余版本,请参阅 MSDN 中的 Versions Web Service(对 Web 服务进行版本控制)。

删除未使用的模板、功能和 Web 部件

首先,确认没有网站正在使用模板、功能或 Web 部件。 可以将 Stsadm - EnumAllWebs 操作与 和 - includewebparts 参数一起使用- includefeatures,以识别环境中的这些自定义项。 该操作标识环境中正在使用的 Web 部件、功能、事件处理程序和安装文件。 命令 EnumAllWebs 还指定哪些网站使用哪些文件。 在 2011 年 2 月累积更新中对 命令进行了 EnumAllWebs 更改,以使其返回网站集和 Web 级别功能。 若要了解详细信息以及获取累积更新,请参阅 SharePoint Foundation 2010 年累积更新包 (SharePoint Foundation 服务器包)说明:2011 年 3 月 3 日

可以在网站集升级期间删除功能。 还可以通过在模板中弃用简单功能来删除它们。 可以使用功能升级来删除更复杂的功能。 有关详细信息,请参阅 MSDN 上的升级功能功能升级概述

若要详细了解如何标识环境中的自定义项,请参阅Use a trial upgrade to SharePoint 2013 to find potential issues。 如果未使用自定义项,请将其删除。 若要详细了解如何管理这些类型的自定义项,请参阅 MSDN 上的功能和模板解决方案和 Web 部件包

删除 PowerPoint 广播网站

这些网站和网站模板在 SharePoint 2013 中不可用,因为 Office Online Server 现在独立于 SharePoint 2013 环境安装。 基于这些模板的网站在 SharePoint 2013 中不起作用。 在升级之前,请删除这些类型的网站。

可以将 Get-SPSite PowerShell 命令与下列选项一起使用来查找这些网站:

Get-SPSite | Where-Object{$_.RootWeb.Template -eq "PowerPointBroadcast#0"}

这将返回使用该模板的所有网站。

还可以将 Get-SPSiteRemove-SPSite PowerShell 命令与下列选项一起使用来删除这些网站:

Get-SPSite | Where-Object{$_.RootWeb.Template -eq "PowerPointBroadcast#0"} | Remove-SPSite

在删除这些网站之前,请务必先对其进行备份。 有关详细信息,请参阅 Get-SPSiteRemove-SPSite

删除 FAST Search 中心网站

无法将 FAST 搜索中心网站升级到 2013 体验。 在升级后,现有 FAST 搜索中心网站可以在 2010 模式下继续工作。 如果需要新功能,则必须在 2013 模式下创建新的企业级搜索中心网站。

在 SharePoint 2010 产品 中完成直观升级

在从 2007 Office 版本中的服务器产品升级到 SharePoint 2010 产品的过程中,您可以允许网站所有者使用直观升级以使网站在升级后的环境中保持旧的体验。 在升级到 SharePoint 2013 时,SharePoint 2010 产品中仍处于旧体验的所有网站将自动升级到 2010 体验。 如果您希望有机会解决任何问题并在网站切换到新体验之前对其进行查看,请将其升级到 SharePoint 2010 产品环境中的新体验,并在将其升级到 SharePoint 2013 之前对其进行查看。 建议您在升级到 SharePoint 2013 之前完成直观升级。 在升级之前完成直观升级可提供以下好处:

  • 可以在解决问题的同时仍有可用的 2007 Office 版本中的服务器产品组件。

  • 可以让用户参与检查并解决其网站中的问题的过程。

  • 如有必要,可以暂时回滚到旧体验。 在 SharePoint 2013 体验中时,无法回滚。

  • 请避免增加升级过程中可能出现的错误。 升级期间,执行的操作越少越好。 在参与多个过程时,尝试纠正错误会更为困难。 并且,在体验真的变为新版本后,用户可能会认为该升级已导致出现问题。 如果网站界面的显示方式有问题,如何知道这是网站中通过视觉升级强制发生的旧问题、SharePoint 2013 中的 2010 模式问题还是新 CSS 文件的问题?

若要检查 SharePoint 2010 产品环境中处于旧体验的网站,您可以使用 Get-SPSite PowerShell 命令。

使用 PowerShell 检查并升级 SharePoint 2010 产品 环境中仍处于旧体验的网站的具体步骤

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

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

  • 运行 PowerShell cmdlet 的服务器上的管理员组。

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

    注意

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

  1. 在“开始”菜单中,单击“所有程序”

  2. 单击“Microsoft SharePoint 2010 产品”

  3. 单击“SharePoint 2010 命令行管理程序”

  4. 在 PowerShell 命令提示符处,键入以下命令以返回处于旧体验的或具有处于旧体验的子网站的所有网站集:

Get-SPSite | ForEach-Object{$_.GetVisualReport()}
  1. 在 PowerShell 命令提示符处,键入以下命令以将这些网站升级到新体验:
Get-SPSite | ForEach-Object{$_.VisualUpgradeWebs()}

有关详细信息,请参阅 Get-SPSite管理直观升级 (SharePoint Server 2010)

修复数据问题

在升级之前,请确保修复数据库或网站内容中的所有问题。 具体而言,请检查下列项目:

  • 检查数据库中的已损坏的数据

    清理数据库以删除所有孤立网站或其他损坏的数据,如损坏的列表。 如果已从数据库中删除网站或子网站,请考虑进行碎片整理。 有关更多信息,请参阅:

  • 检查数据库中的重复的或孤立的网站集

    确保网站集仅存在于一个内容数据库中。 有时,如果网站集被移动到新数据库,或者数据库的副本已附加到服务器场,或者如果预配网站集时出错,则网站集有时会在旧内容数据库中留下重复或孤立引用。 如果在多个内容数据库中引用了网站集,或者内容数据库中有多个网站集实例,则使用数据库附加升级方法进行升级时,可能会导致出现问题。 如果您先升级网站集的重复版本,则配置数据库中的站点地图最终可能会指向该版本的网站,而不是当前版本。

    在升级之前,在 stsadm 命令行工具中使用 Enumallwebs 操作可发现哪些网站位于哪些内容数据库中并比较结果。 此外,检查结果中的每个网站集,并检查它是否在网站地图中列为缺失。 作为丢失项列出表示网站集是一个孤立的网站。 有关详细信息,请参阅 Enumallwebs:Stsadm 操作。 如果查找重复或孤立的网站,可以在 PowerShell 中使用 Remove-SPSite cmdlet,删除数据库中重复或孤立的网站。

    有关详细信息,请参阅 Remove-SPSite

  • 检查变体

    在发布环境中,检查是否存在必须修复的变体。 有关详细信息,请参阅 Variationsfixuptool:Stsadm 操作

如何进行结构性更改

如果要对环境进行结构性更改(如随意移动网站集或更改数据库的分配方式),则可使用下列方法:

  • Move-SPSite 使用此方法可在数据库之间移动网站集。 如果数据库非常大或包含大量网站集,则可以移动网站集来解决此问题,以使升级更高效。 此外,可以将所有协作网站移至一个数据库中,并将所有My Sites移至另一个数据库中,这样便能更轻松地管理针对这些不同的网站集的升级。 如果大型数据库包含多个网站集,您也可以使用此操作来划分大型数据库。 这还有助于提高升级效率。

    有关详细信息,请参阅 Move-SPSite

  • Export-SPWeb 和 Import-SPWeb 使用此方法可在单个服务器场内或各个服务器场之间移动子网站或网站集。 有关详细信息,请参阅 Export-SPWebImport-SPWeb

另请参阅

其他资源

Use a trial upgrade to SharePoint 2013 to find potential issues

从 SharePoint 2010 升级到 SharePoint 2013 的最佳做法