在 SharePoint Server 中还原自定义项

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

可以使用 管理中心或 PowerShell 还原对 SharePoint Server 进行的任何自定义。 具体使用哪种还原工具,取决于已部署的环境类型、计划要求以及与组织达成的服务级别协议。

开始之前

在开始此操作之前,请查看以下信息:

  • 对于受信任解决方案和沙盒解决方案,均建议您保存原始 .wsp 文件以及用于构建 .wsp 文件的源代码的备份。

在 SharePoint Server 中还原解决方案包

您用来还原解决方案包的方法取决于自定义项是部署为受信任解决方案 还是 沙盒解决方案。

受信任的解决方案是服务器场管理员部署的解决方案。 它们将部署到完整的服务器场,并且可以在场内的任何站点上使用。 受信任解决方案存储在配置数据库中。 使用 SharePoint Server 备份备份场时,将备份受信任的解决方案,并包含在仅配置备份中,也可以作为组或单独备份。 它们在还原层次结构中可见。

沙盒解决方案是网站集管理员可以部署到一个网站集的解决方案。 沙盒解决方案存储在与其部署到的网站集关联的内容数据库中。 它们包含在 SharePoint Server 场、Web 应用程序、内容数据库和网站集备份中,但在还原层次结构中不可见,并且无法单独进行选择或还原。

使用管理中心还原受信任解决方案

  1. 确认执行此过程的用户帐户是 SharePoint 组“服务器场管理员”的成员。

  2. 启动管理中心。

  3. 在管理中心主页上的“备份和还原”部分,单击“从备份还原”。

  4. On the Restore from Backup — Step 1 of 3: Select Backup to Restore page, from the list of backups, select the backup job that contains the solution package, and then click Next. You can view more details about each backup by clicking the (+) next to the backup.

    注意

    如果未显示正确的备份作业,请在“备份目录位置”文本框中键入正确的备份文件夹的通用命名约定 (UNC) 路径,然后单击“刷新”。

  5. 在“从备份还原 - 第 2 步(共 3 步): 选择要还原的组件”页上,选中解决方案旁边的复选框,然后单击“下一步”。

  6. 在“从备份还原 - 第 3 步(共 3 步): 选择还原选项”页上的“还原组件”部分,确保“解决方案”显示在“还原以下组件”列表中。

    在“仅还原配置设置”部分,确保选中了“还原内容和配置设置”选项。

    In the Restore Options section, under Type of Restore, select the Same configuration option. 此时会显示一个对话框,要求你确认操作。 单击“确定”

    单击“开始还原”。

  7. You can view the general status of all recovery jobs at the top of the Backup and Restore Job Status page in the Readiness section. You can view the status for the current recovery job in the lower part of the page in the Restore section. The status page updates every 30 seconds automatically. You can manually update the status details by clicking Refresh. Backup and recovery are Timer service jobs. Therefore, it may take several seconds for the recovery to start.

    If you receive any errors, you can review them in the Failure Message column of the Backup and Restore Job Status page. You can also find more details in the Sprestore.log file at the UNC path that you specified in step 3.

使用 PowerShell 还原受信任的解决方案

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

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

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

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

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

    注意

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

  2. 启动 SharePoint 命令行管理程序。

  3. 在 PowerShell 命令提示符处,键入以下命令:

    Restore-SPFarm -Directory <BackupFolder> -RestoreMethod Overwrite -BackupId <GUID> -Item <SolutionPath>
    

    其中:

    • <BackupFolder> 是您希望从中还原的目录所在的 UNC 位置。

    • <GUID> 是您希望从中还原的备份 ID 的 GUID。 如果不指定备份,将使用最新备份。

    • <SolutionPath> 是备份树中解决方案的路径, (通常为 farm\solutions\ SolutionName) 。

有关详细信息,请参阅 Restore-SPFarm

注意

[!注意] 我们建议您在执行命令行管理任务时使用 Windows PowerShell。 Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。

还原沙盒解决方案

不能仅还原部署为沙盒解决方案的自定义项。 相反,必须还原与自定义项关联的场、Web 应用程序、内容数据库或网站集。

在 SharePoint Server 中还原创作的网站元素

不能仅还原创作的网站元素。 相反,必须还原与创作网站元素关联的场、Web 应用程序或内容数据库。

在 SharePoint Server 中还原工作流

工作流是一种可以还原的自定义项的特例。 请确保您的备份和恢复计划可处理符合您的环境的以下任一情形:

  • 声明性工作流(例如在 SharePoint Designer 中创建的工作流)存储在它们要部署到的网站集的内容数据库中。 还原内容数据库或网站集时将还原这些工作流。

  • 自定义声明性工作流操作的组件位于以下三个位置:

    • 操作的 Visual Studio 2013 程序集存储在全局程序集缓存 (GAC) 中。

    • XML 定义文件 (.actions 文件) 存储在 16\TEMPLATE<LCID>\Workflow 目录中。

    • 用于将操作标记为授权类型的 XML 项存储在它用于的 Web 应用程序的 Web.config 文件中。

      如果服务器场工作流使用自定义操作,则应使用文件还原系统来还原这些文件和 XML 条目。 如果需要,您可以在还原后重新应用这些文件。

  • 依赖自定义代码的工作流(如使用 Visual Studio 2013 创建的工作流)存储在两个位置。 工作流的 Visual Studio 2013 程序集存储在 GAC 中,XML 定义文件存储在"功能"目录中。 这与其他类型的 SharePoint Server 功能(如 Web 部件和事件接收器)一样。 如果工作流是作为解决方案包的一部分进行安装,请按照还原解决方案包的说明操作。

  • 如果您所创建的自定义工作流与部署该工作流的网站集之外的其他网站集交互,则必须同时还原这两个网站集才能恢复该工作流。 还原服务器场将足以恢复该服务器场中的所有网站集以及与网站集关联的所有工作流。

  • 必须使用文件系统备份应用程序单独还原未部署的工作流。

在 SharePoint Server 中还原对 Web.config 文件所做的更改

可以执行场或仅配置还原,恢复使用 管理中心或 SharePoint Server API 和对象模型对 Web.config 文件所做的更改。

如果对 Web.config 文件所做的更改不是通过使用管理中心 或 SharePoint API 及对象模型进行的,则应使用文件系统备份来保护这些更改。 可以使用文件系统还原来恢复备份。

在 SharePoint Server 中还原未打包为解决方案的已开发自定义项

还原未打包为解决方案的已开发自定义项的过程可能比较复杂,因为自定义文件的位置不是标准位置。

请与开发团队或自定义项供应商联系,以确定自定义项是否涉及位于其他位置的额外加载项软件或文件。 建议使用文件系统还原解决方案来还原目录。 下表列出了自定义项在 Web 服务器上的通常存储位置。

位置 说明
%PROGRAMFILES%\Common files\Microsoft Shared\Web Server Extensions\16
经常更新的文件、自定义程序集、自定义模板、自定义网站定义
Inetpub
IIS 虚拟目录的位置
%WINDIR%\Assembly
全局程序集缓存 (GAC):操作系统中一个受保护的位置,将在此位置安装 Microsoft .NET Framework 代码程序集以提供完全的系统访问权限

另请参阅

概念

在 SharePoint Server 中备份自定义项

在 SharePoint Server 中还原服务器场

在 SharePoint Server 中还原服务器场配置

在 SharePoint Server 中还原 Web 应用程序

在 SharePoint Server 中还原内容数据库

在 SharePoint Server 中还原网站集