在 SharePoint Server 中备份自定义项

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

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

开始之前

开始此操作之前,请查看以下可对您的网站设置的自定义项的列表:

  • 打包为解决方案(.wsp 文件)的自定义项。 解决方案包含开发的网站元素,并通常由开发人员创建。 开发的网站元素包括:

    • Web 部件

    • 工作流

    • 网站和列表定义

    • 文档转换器

    • 事件接收器

    • 计时器作业

    • 程序集

  • 创作的网站元素(通常由 Web 设计者创建)不是明确编译的,它位于内容数据库中。 创作的网站元素包括:

    • 母版页

    • 级联样式表

    • 表单

    • 布局页

  • 对 Web.config 文件所做的更改

  • 第三方解决方案及其关联的二进制文件和注册表项(例如 IFilter)

  • 通过直接在浏览器中编辑网站而创建的更改

  • 未打包为解决方案的已开发自定义项

注意

上述每类自定义项都需要一个不同类型的备份。

在 SharePoint Server 中备份解决方案包

解决方案包可以通过使用 SharePoint Designer 或 Visual Studio 进行创建。 强烈建议将所有自定义项部署为解决方案包。 有关详细信息,请参阅Creating SharePoint Solution Packages创建 SharePoint 解决方案包)。

解决方案包是一类可部署且可重用的文件,它可包含一组适用于网站的功能、网站定义和程序集,并且您可以分别启用或禁用它。 解决方案包可包含 Web 部件、网站或列表定义、自定义列、新内容类型、自定义字段、自定义操作、编码工作流或工作流活动和条件。

用来备份解决方案包的方法由是将自定义项部署为受信任的解决方案还是沙盒解决方案来决定的(部分受信任的代码)。

受信任的解决方案是服务器场管理员部署的解决方案包。 它们部署到整个服务器场,并且可用于服务器场内的任何网站。 受信任的解决方案存储在配置数据库中。 在使用 SharePoint Server 备份来备份服务器场时,将备份受信任的解决方案,这些解决方案包含在仅配置备份中。 此外,可以将受信任的解决方案作为一个组来备份,或分别对它们进行备份。 受信任解决方案在备份层次结构中是可见的。

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

建议您为受信任的解决方案和沙盒解决方案保留原始 .wsp 文件和用于生成 .wsp 文件的源代码的备份。

使用管理中心备份受信任的解决方案

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

  2. 启动管理中心。

  3. In Central Administration, on the home page, in the Backup and Restore section, click Perform a backup.

  4. 在"执行备份 - 第 1 步(共 2 步): 选择要备份的组件"页上,选择"解决方案",再单击"下一步"。

    如果只需要备份单个解决方案,则也可以选择单个解决方案。

  5. 在"开始备份 - 第 2 步(共 2 步): 选择备份选项"页上,在"备份类型"部分,选择"完全"或"差异"。

    注意

    如果是首次备份解决方案,则必须使用“完整”选项。 必须先执行一次完整备份,然后才能执行差异备份。

  6. 在“备份文件位置”部分,键入备份文件夹的通用命名约定 (UNC) 路径,然后单击“开始备份”

  7. 您可以在“备份和还原作业状态”页顶部的“准备情况”部分查看所有备份作业的常规状态。 在该页下半部分的“备份”部分查看当前备份作业的状态。 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 backup to start.

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

使用 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 命令提示符处,键入以下命令以备份服务器场中的所有解决方案。 若要备份单个解决方案,请将该解决方案的名称添加到项目路径"farm\solutions"。

    Backup-SPFarm -backupmethod full -directory <UNC location> -item "farm\solutions"
    

    其中:

    • <UNC location> 是存储备份文件的目录的 UNC 位置。

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

注意

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

在 SharePoint Server 中备份沙盒解决方案

不能仅备份沙盒解决方案。 相反,必须备份与沙盒解决方案关联的场、Web 应用程序或内容数据库。

在 SharePoint Server 中备份创作的网站元素

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

在 SharePoint Server 中备份工作流

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

  • 声明性工作流(如 SharePoint Designer 中创建的工作流)将存储在它们将部署到的网站集的内容数据库中。 备份内容数据库可保护这些工作流。

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

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

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

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

      如果场工作流使用自定义操作,应使用文件备份系统来保护这些文件和 XML 项。 与 Web 部件和事件接收器等功能类似,应在恢复后根据需要将这些文件重新应用于场。

  • 依赖自定义代码的工作流(如使用 Visual Studio 创建的工作流)存储在两个位置。 工作流的 Visual Studio 程序集存储在 GAC 中,XML 定义文件存储在"功能"目录中。 这与其他类型的 SharePoint 功能(如 Web 部件和事件接收器)一样。 如果工作流是作为解决方案包的一部分进行安装,备份场、Web 应用程序、内容数据库或网站集可保护这些工作流。

  • 如果您所创建的自定义工作流与部署该工作流的网站集之外的其他网站集交互,则必须同时备份这两个网站集才能保护该工作流。 这包括写入其他网站集中的历史记录列表或其他自定义列表的工作流。 执行服务器场备份足以备份服务器场中的所有网站集以及与这些网站集关联的所有工作流。

  • 必须单独备份和还原尚未部署的工作流。 开发新工作流但尚未将其部署到 SharePoint Server 服务器场时,请确保使用文件系统备份应用程序备份存储工作流项目文件的文件夹。

在 SharePoint Server 中备份对 Web.config 文件所做的更改

SharePoint Server 的常见自定义项是更改 Web.config 文件。 强烈建议您使用管理中心或 SharePoint Server API 和对象模型对 Web.config 文件进行更改。 由于这些更改将存储在配置数据库中,因此可从服务器场或仅配置备份来恢复它们。

如果更改 Web.config 文件时未使用管理中心或 SharePoint Server API 和对象模型,应使用文件系统备份来保护这些更改。

注意

[!注意] 如果使用的是基于表单的身份验证,Web.config 文件中的提供程序注册为手动进行,并且不受 SharePoint Server 备份保护。 在这种情况下,请务必使用文件系统备份来备份 Web.config 文件。

在 SharePoint Server 中备份第三方产品

如果将第三方产品部署为解决方案包,它们受 SharePoint Server 备份保护。 建议保留安装所需的全部原始文件、分发介质、文档以及许可证和产品密钥。

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

备份未部署为解决方案包的已开发自定义项是一个非常复杂的过程,因为自定义文件位置可能未存储在标准化位置,并且 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 中备份网站集

在 SharePoint Server 2013 中更新工作流