内容迁移概述

上次修改时间: 2009年11月4日

适用范围: SharePoint Foundation 2010

内容迁移 API 可提供简单而灵活的解决方案,用于在 SharePoint Foundation 网站之间迁移内容。可将与 Windows SharePoint Services 网站有关的内容连同任何依赖项(例如:安全性、角色、版本控制、工作流和其他元数据)一起导出到称作内容迁移数据包 的一个或多个 XML 格式的文件中。在导入到目标网站的过程中,将提取并解释打包的数据。也可以在迁移到其他服务器之前将这些数据包保存到文件服务器。

对象模型的设计目的是处理在整个网站到列表或库中的项的范围内的数据。可以选择要与迁移内容包含在一起的元数据的级别,也可以选择是执行完全迁移还是仅增量更改。

下面是一些使用内容迁移 API 的常见情况:

  • 将内容从开发服务器发布到临时服务器,然后将其从临时服务器发布到生产服务器。可以手动触发发布过程或使用计划好的作业驱动此过程。

  • 允许最终用户从网站导出任何列表和内容,并手动将其导入到源服务器场的内部或外部的另一个网站中。

  • 启用第三方内容管理或协作解决方案以便在已发布 XML 架构中生成数据,并使用导入功能将内容迁移到 SharePoint Foundation 中。

  • 从卷影复制服务 (VSS) 还原中选择组件以便导入到 SharePoint Foundation 网站中。

简而言之,通过使用内容迁移 API,您可以在适当的时间将适当的内容从适当的位置传输到适当的目标。

内容迁移 API 不属于

内容迁移 API 旨在将内容从源位置迁移到目标位置,其目的不是备份和还原。以下是有关内容迁移 API 在备份和还原数据时受到的一些限制。

  • 无法导出或导入配置或应用程序数据。

  • 可以导出的最大对象是 SharePoint Foundation 网站(SPWeb 对象)。

  • 无法导出或导入以下内容:通知、审核记录、更改日志历史记录、签入/签出状态、回收站项目、回收站状态、安全状态、工作流程任务和工作流程状态。

    备注

    通知是单独运行的,绝不会在源或目标位置上覆盖、添加或删除这些通知。

  • 虽然 Web 部件可在源位置和目标位置之间迁移,但不会迁移程序集。如果有自定义 Web 部件,则必须在目标位置上安装 DLL 以便这些 Web 部件能够正常运行。

在 SharePoint Foundation 环境中,有几个用于备份和还原的选项。可以根据特定要求从这些选项中选择最适合的选项。有关备份和还原选项的详细信息,请参阅备份和还原

使用内容迁移 API 的方法

可以通过以下三种方法调用内容迁移 API。

  • Windows PowerShell

    利用 Windows PowerShell,可以使用导入和导出操作来迁移数据。但是,只能在网站范围内执行此操作。此外,无法选择保留在某些情况下可能是必需的 GUID。

  • SOAP

    可以使用在 Sites Web 服务中实现的 ImportWeb(String, String, String, Boolean, Boolean, Boolean, Int32)ImportWeb(String, String, [], String, Boolean) 方法迁移远程服务器上的数据。但是,在使用 Stsadm.exe 时,只能在网站范围内执行操作。此外,无法保留在某些情况下可能是必需的 GUID。

  • Content Migration object model

    对象模型可控制多数数据迁移方案。通过使用对象模型,可以将网站中的任何内容迁移到列表中的项或库中的单个文档。可以选择是否包含有关适用于要迁移的对象的安全性、版本控制、用户角色和其他元数据的信息。内容迁移对象模型在 Microsoft.SharePoint.Deployment 命名空间中实现。

本节中的主题着重说明了如何使用内容迁移对象模型。有关使用 Windows PowerShell 的详细信息,请参阅《SharePoint Foundation 管理指南》。有关使用 Web 服务的详细信息,请参阅 ASP.NET Web 服务以及前面提到的 ExportWeb(String, String, String, Boolean, Boolean, Boolean, Int32)ImportWeb(String, String, [], String, Boolean) 方法。

请参阅

引用

SitesExportWeb(String, String, String, Boolean, Boolean, Boolean, Int32)

SitesImportWeb(String, String, [], String, Boolean)

概念

ASP.NET Web 服务