在 SharePoint Foundation 中备份和还原数据概述

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

本文内容
可以备份和还原哪些内容
备份和还原的类型
四类自定义备份/还原应用程序

本主题提供有关如何在 Microsoft SharePoint Foundation 中备份和还原数据的一些基本信息。

可以备份和还原哪些内容

SharePoint Foundation 中内置有一些可以使用以下的一个或多个工具进行备份和还原的内容组件。可用的工具因组件类型的不同而不同。

  • 管理中心应用程序用户界面 (UI)

  • stsadm.exe 命令行工具

  • SharePoint Management Shell 附带的 Windows PowerShell cmdlet。

  • 在自定义应用程序、自定义 stsadm 操作或自定义 Windows PowerShell cmdlet 中使用 SharePoint Foundation 代码备份和还原对象模型的代码。

表 1:组件类型可用的备份工具

组件

管理中心 UI、Stsadm 操作或 Windows PowerShell cmdlet 的备份和还原支持

自定义代码的备份和还原支持

列表项中的特定字段

不支持还原,也不能独立于父内容数据库的备份进行单独备份。

可以使用未连接的数据库对象模型进行单独还原,但不能独立于父内容数据库的备份进行单独备份。

列表项

不支持还原,也不能独立于父内容数据库的备份进行单独备份。

可以使用未连接的数据库对象模型进行单独还原,但不能独立于父内容数据库的备份进行单独备份。

列表

支持单独还原,但不能独立于父内容数据库的备份进行单独备份。

可以使用未连接的数据库对象模型进行单独还原,但不能独立于父内容数据库的备份进行单独备份。

网站

支持单独还原,但不能独立于父内容数据库的备份进行单独备份。

可以使用未连接的数据库对象模型进行单独还原,但不能独立于父内容数据库的备份进行单独备份。

网站集

支持

通过使用 SPSiteCollection.BackupRestore() 提供支持。

内容数据库

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持。

Web 应用程序

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持。

内容发布 Web 服务*

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持。

搜索 Windows 服务(包括其数据库和索引)**

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持。

实现 服务应用程序框架 及其关联的服务应用程序代理的 Web 服务

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 或由框架提供的补充备份/还原对象模型提供支持。

实现 服务应用程序框架 的 Web 服务使用的 IIS 应用程序池

支持

通过使用由服务应用程序框架提供的补充备份/还原对象模型提供支持

整个 SharePoint Foundation 场

支持,但还原目标的拓扑结构和服务器名称必须匹配备份源服务器场的拓扑结构和服务器名称(否则,在还原后需要完成一些工作来重新配置内容和服务)。

通过使用主要备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持,但还原目标的拓扑结构和服务器名称必须匹配备份源服务器场的拓扑结构和服务器名称(否则,在还原后需要完成一些工作来重新配置内容和服务)。

服务器场和内容发布 Web 服务的配置设置*

支持

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 提供支持。

自定义内容组件

支持,前提是组件实现 IBackupRestore

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 和 IBackupRestore 提供支持。

自定义配置设置

支持,前提是组件实现 IBackupRestoreConfiguration

通过使用主备份/还原对象模型 (Microsoft.SharePoint.Administration.Backup) 和 IBackupRestoreConfiguration 提供支持。

备注

*这是指由对象模型中的 SPWebService 对象表示的内容发布"Web 服务"(实际上是内容分区),而不是指具有更常规的"Web 服务"含义的功能性 Web 服务,例如警报 (websvcAlerts) 服务或会议 (websvcMeetings) 服务。有关内容发布"Web 服务"的详细信息,请参阅服务器和网站体系结构:对象模型概述Microsoft SharePoint Foundation 的管理对象模型

**这并不是指搜索 Web 服务 websvcSPSearch

限制

对于可以备份和还原的数据的类型存在一些限制,这些限制包括:

  • **不能独立于备份整个服务器场来单独备份 SharePoint Foundation 服务器场的配置数据库或管理中心应用程序的内容数据库。**但是,可以备份和还原服务器场和任何内容发布 Web 服务的配置设置。

  • 不能还原服务器场的配置数据库或管理中心应用程序的内容数据库。(包含在服务器场的备份中的这些组件的备份会提供这些组件在备份时的快照。由于可以使用 SQL Server 工具将这类快照与组件的当前状态进行比较,因此,这类快照对于故障排除会很有用。)但还原服务器场(包括其整个配置数据库和管理中心应用程序的内容数据库)不是一个灵活的选项,因为如果使用此选项,还原目标服务器场的服务器名称和拓扑结构信息必须与源服务器场中对应的数据完全相同。因此,我们建议,在目标服务器场中安装 SharePoint Foundation 后,服务器场管理员应还原配置信息,然后还原 Web 应用程序和其他所需的内容。如果您执行这样的操作,则配置设置将会用作某种"服务器场模板",而且此模板不会假定任何特定的服务器场拓扑结构。

  • 不能备份 Internet Information Services (IIS) 配置存储(主要包含 applicationhost.config 文件)。

  • **不能备份 IIS 应用程序池,**但承载可实现 服务应用程序框架 的 Web 服务的应用程序池除外。

尽管不能使用管理中心应用程序的用户界面、stsadm 命令提示符实用工具或 SharePoint Foundation 附带的任何 Windows PowerShell cmdlets 来备份以下类型的内容;但是,可以使用包含这些类型的内容的 Microsoft SharePoint 2010 软件开发工具包 (SDK) 来创建自定义备份解决方案。

  • 注册表项。

  • 位于前端 Web 服务器上的文件,即,位于任何内容数据库外部的文件,如某些母版页、ascx 文件、web.config 文件和其他配置文件。

    备注

    通过 SPWebConfigModification 类对 web.config 文件所做的配置更改将会进行备份。

最后,如表 1 中所示,不能使用管理中心应用程序用户界面、stsadm 命令提示符实用工具或 SharePoint Foundation 附带的任何 cmdlet 来还原单独的列表项。但是,可以使用未连接的数据库对象模型创建自定义解决方案来还原特定的列表项。

备份和还原的类型

对指定组件进行的备份可以是完整备份,也可以是差异备份。在进行差异备份时,仅备份自上一次完整备份后已发生更改的组件部分。

备注

不能对 SharePoint Foundation 搜索索引进行增量备份。如果差异备份作业中包含一个搜索索引,则将该索引进行完整备份。

通过还原,既可以覆盖原始的备份源,也可以还原到新的位置。这意味着也可以将 SharePoint Foundation 中的备份和还原功能用作迁移内容组件的方法。

备注

有关如何迁移网站、列表和其他小于网站集的内容类型的详细信息,请参阅内容迁移

四类自定义备份/还原应用程序

有四种方法可以使用 SharePoint Foundation 对象模型创建自定义备份/还原应用程序。

1:主备份和还原对象模型

可以使用主备份和还原对象模型来创建备份和还原应用程序。此模型主要位于 Microsoft.SharePoint.Administration.Backup 命名空间中;但对于单个网站集,将使用 SPSiteCollection.BackupSPSiteCollection.Restore 方法对其进行备份和还原。有关如何使用主备份和还原对象模型的详细信息,请参阅使用 SharePoint Foundation 备份/还原对象模型进行编程

2:卷影复制服务接口

SharePoint Foundation 部署也可以利用 Windows Server 2008 中的卷影复制服务 (VSS)。SharePoint Foundation 包含 SharePoint 2010 VSS 编写器服务,此服务将在部署中创建本机和自定义内容的卷影副本。此服务包含一个 VSS 编写器,用于编写所有本机 SharePoint Foundation 数据库和所有自定义数据库的卷影副本。通过使用 SPVssComponentDefinitionSPVssDiscoveryHelper 类,可以向此服务注册非数据库自定义组件。此外,还需要为任何此类非数据库自定义组件创建 VSS 编写器。有关如何对针对 VSS 的 SharePoint Foundation 接口进行编程的详细信息,请参阅 SharePoint Foundation 和卷影复制服务

备注

利用 VSS 服务,可以仅针对整个服务器场或单个内容数据库进行数据库卷影复制。不能将单个 Web 应用程序和单个内容发布"Web 服务"设置为独立于整个服务器场的卷影复制而单独进行卷影复制。(有关"内容发布 Web 服务"的含义的信息,请参阅表 1 底部的说明。)

3:数据库快照管理

SharePoint Foundation 具有一个内置的计时器服务作业,只要 SharePoint Foundation 由 Microsoft SQL Server 的 Enterprise 或 Developer 版本承载,此作业就会创建和删除数据库快照。自定义应用程序可以配置快照创建频率和快照生命期等设置。还可以使用自定义作业替换内置计时器作业。最后,可以用编程方式将自定义内容数据库配置为可从快照还原。有关数据库快照管理的可编程性的详细信息,请参阅数据库快照的编程管理如何:创建可从快照还原的数据库类

4:未连接的数据库还原

未连接的数据库是未在服务器场配置数据库中注册的数据库。但是,它可以用作向服务器场还原或导入数据的源。通常,未连接的数据库是内容数据库的一个备份副本,但它也是一个 VSS 卷影副本(已装入到 Microsoft SQL Server 中)或一个数据库快照。大如完整的内容数据库或小如一个列表的数据单元均可在管理中心用户界面中或使用 stsadm 操作从未连接的数据库还原。自定义应用程序还可创建未连接的数据库对象,并将数据从这些对象中移动到内容数据库。自定义应用程序可以按单个列表项还原数据。有关未连接的数据可编程性的详细信息,请参阅从未附加的数据库进行精细的还原数据

请参阅

概念

从未附加的数据库进行精细的还原数据

数据库快照的编程管理

使用 SharePoint Foundation 备份/还原对象模型进行编程

SharePoint Foundation 和卷影复制服务

其他资源

内容迁移

stsadm.exe 命令行工具