内容迁移:导入内容

上次修改时间: 2009年10月2日

适用范围: SharePoint Foundation 2010

内容迁移是一个分两步完成的过程。首先,将源中的内容导出到迁移包,然后将迁移包导入目标。

导入操作的概述

下面的流程图说明了在 Microsoft.SharePoint.Deployment 命名空间中使用迁移 API 的典型导入操作的概念性流程。表面上,导入内容只是导出的反向操作。但是,在导入操作中会有更复杂的流程和更多的决策点。

选择性迁移:导出流程图

导入操作流程图

当指定导入设置 (SPImportSettings) 时,请确保与相应的导出设置 (SPExportSettings) 相匹配。例如,如果 SPExportSettings 对象上的 FileCompression 属性设置为 true,则 SPImportSettings 对象的相应 FileCompression 属性也必须设置为 true。

处理流程会提供一些需进行流程分支的决策点。第一个决策点为是否要保留对象标识。此属性设置确定是通过对象 GUID(如果保留对象标识)还是通过 URL 来定位导入对象。(有关对象标识和其他迁移概念的详细信息,请参阅选择性迁移中的关键概念。)

下一个决策点与重新分配父对象有关。如果对象为层次结构中的顶级对象且您未保留对象标识,则必须重新分配父对象。另一方面,如果对象不是顶级对象且您未保留对象标识,则无需重新分配父对象。

如果操作未能找到导入对象,则将新建一个对象。但是,如果找到对象并且只需移动对象(如在复制/移动操作中),则操作将为该对象分配新的 URL。如果这是一个更新操作(例如,文件更新),则该操作将保留原始 URL。

导入设置 (SPImportSettings) 属性

SPDeploymentSettings 类用作派生 SPExportSettingsSPImportSettings 的基类。然后,这两个派生类将继承该基类的成员,同时 SPImportSettings 类会包含与导入相关的专用成员。

Microsoft.SharePoint.Deployment.SPImportSettings 类的属性以及基类的属性一起分为以下四个组:

  • 必需:导入所需的属性设置。

  • 重要:应在导入计划中考虑的至关重要的属性设置。

  • 与选择性迁移相关:与选择性迁移中的导出操作具体相关的属性设置。

  • 次要:次要或极少使用的属性设置。

必需的导入设置

重要的导入设置

  • UserInfoDateTime

    SPImportUserInfoDateTimeOption 枚举中设置或检索值,该枚举指定在导入时要保留的用户信息级别。允许的值包括:

    • ImportAll:保留所有原始作者和编辑者的信息,包括日期/时间戳和用户查找值。

    • None:(默认值)用系统帐户替换作者和编辑者的数据;创建当前(导入时间)日期/时间戳,并将用户查找值替换为空字符串 ("")。

    • ReplaceUserWithSystemAccount:保留原始日期/时间戳,但用系统帐户替换作者和编辑者数据,并将用户查找值替换为空字符串 ("")。

    默认值为 None。

  • UpdateVersions

    SPUpdateVersions 枚举中设置或检索值,该枚举指定在导入时处理版本信息的方式:

    • Append:在导入时追加版本控制项目。

    • Overwrite:在导入时删除现有项,然后重新插入导入的版本。

    • Ignore:忽略版本控制。

  • CommandLineVerbose(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    检索或设置一个布尔值,该值指定是否要将迁移信息输出到命令行控制台。默认值为 false。

  • FileCompression(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    检索或设置一个布尔值,此值指定是否使用 CAB 压缩协议压缩内容迁移包。默认值为 true;默认值表示压缩内容迁移包。

    此属性的导入设置必须与 SPExportSettings.FileCompression 属性上提供的设置相匹配。

  • IncludeSecurity(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    检索或设置一个 SPIncludeSecurity 枚举值,此值指定迁移包中要包含的用户安全角色和角色成员数据的数目。该枚举提供三个选项:All、None 和 WssOnly。所选值必须与 SPExportSettings.IncludeSecurity 属性上提供的值相匹配。

  • LogFilePath(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    检索或设置一个值,此值指定内容迁移操作的日志文件的完全限定路径。

与选择性迁移相关的导入设置

  • RetainObjectIdentity

    设置或检索一个布尔值,此值指定是否在导入过程中保留标识对象 GUID。将此值设置为 true 将指示导入操作保留对象 GUID;默认值为 false。

    SPImportSettings.RetainObjectIdentity 是选择性迁移的关键,因为核心概念是导入现有文件的已更新版本。目标位置获知项目为现有项目的已更新版本的唯一方法是使用对象 GUID 来比较对象标识。

    由于内容数据库不允许使用重复的 GUID,因此在实现此属性时应小心谨慎。这仅在选择性迁移方案中有用。此外,若要支持字段删除操作(当某些项目更新和删除导入目标位置中的相同文件时,删除导出源中相应项目的早期版本),此值必须设置为 true。另请注意,若要支持选择性迁移,必须将 ExportMethod 属性设置为 ExportChanges 的字段值。

次要的导入设置

  • IgnoreWebParts

    设置或检索一个布尔值,此值确定导入操作是否要忽略与文件相关联的 Web 部件。设置为 true 将禁止导入 Web 部件;默认值是 false。

    请注意,此属性主要用于支持 CMS 中的变体功能。

  • SuppressAfterEvents

    设置或检索一个布尔值,此值确定迁移操作是否要忽略创建或修改文件或列表项时引发的 After 事件。设置为 true 将忽略 After 事件;默认值是 false。

    禁止对 After 事件进行处理可以稍微提高导入期间的性能。此外,即使不考虑性能,将此值设置为 true 也可有助于避免出现可能由事件处理程序错误导致的问题。

  • HaltOnWarning(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    设置或检索一个布尔值,此值指定当遇到警告时是否挂起迁移。若设置为 false,则将忽略警告并继续迁移。默认值为 false。

  • HaltOnNonfatalError(继承自 Microsoft.SharePoint.Deployment.SPDeploymentSettings

    设置或检索一个布尔值,此值指定在出现非严重错误时是否挂起迁移。若设置为 false,则将忽略非严重错误并继续迁移。默认值为 false。

请参阅

概念

选择性迁移中的关键概念

内容迁移:导出内容

选择性内容迁移