使用内容迁移对象模型
上次修改时间: 2009年10月2日
适用范围: SharePoint Foundation 2010
通常,内容迁移方案分为以下类别:
将网站集的内容从一个位置移动到另一个位置。
根据指定的条件,只将选定的内容文件从一个网站迁移到另一个网站。
导出内容以便对其执行一些处理,然后重新导入内容。
同步服务器。
不过,基本步骤都是相同的,与方案无关。以下是在典型的迁移操作中执行的高级别步骤,其中包括一些指向相关对象模型成员以提供详细信息的链接。
第一步是确定计划导出的内容。使用 SPExportSettings 类来定义导出操作的这些值。
确定要迁移的对象。
使用内容迁移对象模型,您可以导出网站集、列表、库、文件夹、文件或列表项。
有关详细信息,请参阅 SPExportObjectCollection 类。
确定要导出对象的数据量。默认情况下,将导出对象的所有数据及其依赖项,或者可以选择只导出增量更改。
若要导出增量更改,必须基于以下项之一来确定是否导出数据:
特定日期。
自上次导出操作后所做的更改(使用 SharePoint Foundation 更改日志)。
有关详细信息,请参阅 ExportMethod 属性。
标识输出文件(*.cmp 文件,也称作content migration package)的位置。
有关详细信息,请参阅 BaseFileName 和 FileLocation 属性。
确定在导出数据时要包含的元数据。例如,要导出哪种版本控制信息(默认值为最后一个主要版本)?是否要导出用户和组信息(默认情况下不包含任何用户或组信息)?
有关详细信息,请参阅 IncludeVersions 和 IncludeSecurity 属性。
如果需要,请对您的内容迁移数据包 (.cmp) 文件的大小进行限制。如果迁移操作中的内容文件超过了指定的文件大小限制,该操作会自动根据需要创建其他 .cmp 文件。
有关详细信息,请参阅 FileMaxSize 属性。
指示在导出操作过程中如何处理警告和错误(默认情况下,在遇到警告或非致命错误时,导出操作不会停止)。
有关详细信息,请参阅 HaltOnNonfatalError 和 HaltOnWarning 属性。
在做出这些决定并设置 SPExportSettings 类中的值之后,将其作为参数传递给 SPExport,然后运行导出作业。
在导出完成后,将在 SPExportSettings 中定义的位置创建内容迁移数据包。此文件由一组文件组成,这些文件包含导出操作中包含的内容以及描述内容结构的元数据。
与在 SPExportSettings 对象中定义导出的设置一样,现在在 SPImportSettings 对象中定义导入的值。
确定在导入数据时要包含的元数据。例如:
希望如何显示版本控制信息?(默认情况下,将版本追加到目标位置的文件中)
有关详细信息,请参阅 UpdateVersions 属性。
是否希望对象保留其原始 GUID?(默认情况下,不保留对象标识。)
有关详细信息,请参阅 RetainObjectIdentity 属性。
重要信息 使用此属性时要小心,即数据库不允许重复的 GUID。当具有两个互为镜像的网站时,或在指示一台计算机上的文件是否与另一台计算机上的文件相同的发布方案中,通常将使用此属性。
此功能仅在对象模型中可用。不能使用 Stsadm.exe 或 [Sites Web service]Web service 保留 GUID。
指示在导入操作过程中如何处理警告和错误(默认情况下,在遇到警告或非致命错误时,导入操作不会停止)。
有关详细信息,请参阅 HaltOnNonfatalError 和 HaltOnWarning 属性。
在做出这些决定并设置 SPImportSettings 类中的值之后,将其作为参数传递给 SPImport,然后运行导入作业。