如何升级使用内容类型联合的环境 (SharePoint Server 2013)

适用于:yes-img-132013 no-img-162016 no-img-192019 no-img-se订阅版 no-img-sopSharePoint in Microsoft 365

从内容类型"中心"网站集向一个或多个"使用"网站集发布内容类型时,将发生内容类型联合或内容类型发布。 有关详细信息,请参阅内容类型和内容类型发布简介规划共享术语和内容类型 (SharePoint Server 2010)

假定您在 SharePoint Server 2010 中使用内容类型联合。 现在您想要升级到 SharePoint 2013,但您想要现在升级一些网站集,稍后升级其他网站集。 在这种情况下,您必须遵循特定的过程,确保所有内容类型可以跨版本继续运行。

内容类型联合使用 SharePoint Server 中的备份和还原机制来跨网站集发布内容类型。 在下列情况下,备份和还原不能跨版本运行:

  • 在 2010 和 2013 之间

  • 在 2013 服务器场上的 2010 模式站点和 2013 服务器场上的 2013 模式站点之间

因此,您必须设置与多个 Managed Metadata Service 应用程序和代理的共享,以便能够在合适的版本中的每个网站集发布内容类型。 代理是将服务应用程序与 Web 应用程序相关联的连接。

初始状态

本文使用一个特定的示例环境来显示在升级网站集之前如何配置服务应用程序和连接(代理)。 一开始,此示例环境中包含以下组件:

  • Managed Metadata Service 应用程序

  • 基于文档中心模板的网站集

    该网站集充当内容类型中心 (ContentTypeHub1),其中包含文档和文档集内容类型。

  • 同样基于文档中心模板的两个使用网站集

    内容类型中心将文档和文档集内容类型发布到这些网站集。

下图显示了升级过程开始之前的此示例环境、

具有内容类型联合的 SharePoint 2010 服务器场

SharePoint Server 2010 的原始服务器场,显示 Managed Metadata Service 应用程序、内容类型集线器 (ContentTypeHub1) 和两个正在占用的使用内容整合的网站。

以下是有关此图的详细信息:

  • Managed Metadata Service 应用程序具有一个设置为指向 ContentTypeHub1 网站集的内容类型中心属性。

    若要了解如何共享内容类型,请参阅规划共享术语和内容类型 (SharePoint Server 2010)

  • 选择下列 Managed Metadata 连接属性:

    • 此服务应用程序是关键字的默认存储位置。

    • 此服务应用程序是列特定术语集的默认存储位置。

    • 使用位于 <URL> 的内容类型库的内容类型。

    • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

      若要了解连接属性,请参阅托管元数据连接更新 Managed Metadata Service 连接

  • 文档内容类型 (Doc1) 和文档集内容类型 (DocSet1) 已从 ContentTypeHub1 发布到两个“使用”网站。

    若要了解如何发布内容类型,请参阅从内容发布中心发布内容类型

  • 两个使用网站集包含使用两种内容类型的文档库,以及基于这些库中存储的两种发布内容类型的文档。

在 SharePoint 2010 环境中备份数据和创建重复内容类型中心

如果您想在 2010 环境中继续使用任何使用网站集但升级其他网站集,您必须升级您的环境,以便您具有内容类型中心的 2010 版本和 2013 版本。 下面的图和列表介绍了备份数据库和网站以准备升级,以及创建重复内容类型中心以在 SharePoint 2010 环境中继续服务网站集的步骤。

SharePoint Server 2010 的原始服务器场

升级备份:Managed Metadata Service 应用程序、ContentTypeHub1 和两个正在占用网站的数据库备份。此备份存储到新的 Web 应用程序,然后再重新备份。

  1. 使用 SQL Server Management Studio 备份 Managed Metadata Service 应用程序的数据库。

    为备份命名可以记住的名称,如 ManagedMetadata2010DB.bak。

  2. 使用 SQL Server Management Studio 备份包含内容类型中心和使用网站集的数据库。

    将备份命名为您可以记住的名称,例如 2010ContentHubDB.bak。

  3. 使用 管理中心 或 Backup-SPSite Microsoft PowerShell cmdlet 执行原始内容类型中心的网站集备份。

    有关详细信息,请参阅在 SharePoint Server 2010 中备份网站集

    清除下列 Managed Metadata 连接属性:

  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    若要了解连接属性,请参阅更新 Managed Metadata Service 连接

  1. 创建用于托管内容类型中心副本的 Web 应用程序。

    有关信息,请参阅创建 Web 应用程序 (SharePoint Server 2010)

  2. 使用 Restore-SPSite Microsoft PowerShell cmdlet 还原原始内容类型中心的副本。 使用以下语法:

Restore-SPSite <URL> -path <path>

其中:

  1. 使用 SQL Server Management Studio 备份包含重复内容类型中心的数据库。

现在,您具有 Managed Metadata Service 应用程序的数据库的 SQL Server 备份、使用网站集和内容类型中心的副本(现在位于与使用网站集分开的数据库中)。 在下一节中,您创建和配置 2013 服务器场,还原这些数据库并将其升级到 2013。

还原数据库,并将 Managed Metadata Service 应用程序和网站集升级到 SharePoint 2013

现在,您可以创建 SharePoint 2013 环境,并还原您从 2010 环境备份的数据库。 在 SQL Server Management Studio 中还原后,您可以升级 Managed Metadata Service 应用程序,升级内容数据库并创建网站集。

下图显示了将数据库和网站集还原和升级到 2013 环境需遵循的步骤。

注意

请确保 2013 环境中没有任何其他 Managed Metadata Service 应用程序。

新 SharePoint 2013 服务器场

SharePoint Server 2013 的新服务器场,显示为 Managed Metadata Service 应用程序、ContentTypeHub1 和正在占用网站及 ContentTypeHub3 存储和更新的数据库。

  1. 使用 SQL Server Management Studio 还原 Managed Metadata Service 应用程序的数据库、原始内容类型中心 (ContentTypeHub1) 的两个内容数据库、使用网站和重复内容中心。

  2. 使用 PowerShell 创建 Managed Metadata Service 应用程序并使用还原的数据库。 这将从原始服务器场中的 Managed Metadata Service 应用程序升级信息,并为该新的 Managed Metadata Service 应用程序 (Managed Metadata 1) 创建一个连接(或代理)。

    有关信息,请参阅升级 Managed Metadata Service 应用程序

  3. 对于新的 Managed Metadata 连接(代理),在管理中心中清除下列属性:

  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    有关详细信息,请参阅更新 Managed Metadata Service 连接

  1. 创建 Web 应用程序以托管升级的内容类型中心 (ContentTypeHub1) 和使用网站集。 请务必使用与 2010 环境中相同的身份验证方法。

    有关信息,请参阅创建 Web 应用程序

  2. 测试并附加包含原始内容类型中心 (ContentTypeHub1) 和使用网站集的内容数据库以升级数据库。

    有关信息,请参阅验证自定义组件将内容数据库附加到 Web 应用程序并升级该数据库

    注意

    [!注意] 升级内容数据库时,网站集在 2013 服务器场中仍保持在 2010 模式。 不要将网站集升级到 2013 模式。 稍后在此过程中升级网站集。

  3. 使用 Set-SPMetadataServiceApplication Microsoft PowerShell cmdlet 配置升级的 Managed Metadata Service 应用程序以指向升级的内容类型中心。 使用以下语法:

Set-SPMetadataServiceApplication -Identity "<ServiceApplication>" -HubURI "<HubURI>"

有关信息,请参阅 Set-SPMetadataServiceApplication

  1. 将 ContentTypeHub1 网站集升级到 2013 模式。

    有关信息,请参阅升级网站

  2. 升级包含重复内容类型中心(旧服务器场中的 ContentTypeHub2)的内容数据库并将其命名为 ContentTypeHub3。 将 ContentTypeHub3 保留为 2010 模式。

    有关信息,请参阅将内容数据库附加到 Web 应用程序并升级该数据库

此时,您的 2013 环境中具有下列网站集:

网站集 网站集合模式(版本) 说明
ContentTypeHub1
2013 模式
2013 模式中网站的内容类型中心
ContentTypeHub3
2010 模式
2010 模式中网站的内容类型中心
ConsumingSite1
2010 模式
使用共享的内容类型
ConsumingSite2
2010 模式
使用共享的内容类型

创建其他 Managed Metadata Service 应用程序并重新发布内容类型

现在,您已准备好在 2010 服务器场和 2013 服务器场中创建为在 2010 模式下运行的内容类型中心和使用网站集提供服务的 Managed Metadata Service 应用程序。 创建并配置这些服务应用程序后,共享用于 2013 模式中网站(同时充当两个服务器场的术语存储)的 Managed Metadata Service 应用程序 (Managed Metadata 1),以及用于 2010 服务器场中网站的 Managed Metadata Service 应用程序 (Managed Metadata 3)。 共享服务应用程序后,您可以在两个服务器场中重新发布内容类型。

下图显示了创建其他 Managed Metadata Service 应用程序并重新发布内容类型的步骤。 所有这些步骤都在新的 2013 服务器场中执行。

创建 Managed Metadata Service 应用程序并重新发布内容类型。

显示两个已创建的新 Managed Metadata Service 应用程序的 SharePoint Server 2013 服务器场。然后,内容类型从内容类型集线重新发布到正在占用的网站。

  1. 在 管理中心 中,创建一个 Managed Metadata Service 应用程序 (Managed Metadata 2) 并将 Content Type Hub 属性设置为新服务器场中的重复内容类型中心 (ContentTypeHub3)。

    使用管理中心创建 Managed Metadata Service 应用程序时,托管元数据连接(代理)与服务应用程序同时创建。 有关详细信息,请参阅创建 Managed Metadata Service 应用程序

    对于新的 Managed Metadata 连接,清除下列属性:

  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    有关详细信息,请参阅更新 Managed Metadata Service 连接

  1. 在 管理中心 中,创建一个 Managed Metadata Service 应用程序 (Managed Metadata 3) 并将 Content Type Hub 属性设置为 2010 环境中的原始内容类型中心(2010 服务器场中为 ContentTypeHub1)。

    使用管理中心创建 Managed Metadata Service 应用程序时,托管元数据连接(代理)与服务应用程序同时创建。 有关详细信息,请参阅创建 Managed Metadata Service 应用程序

    对于新的 Managed Metadata 连接,清除下列属性:

  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    有关详细信息,请参阅更新 Managed Metadata Service 连接

  1. 将 Managed Metadata 1 和 Managed Metadata 3 服务应用程序共享到 2010 环境。

    不要将 Managed Metadata 2 与 2010 环境共享。 它仅用于 2013 服务器场中的网站。

    有关详细信息,请参阅在 SharePoint Server 中跨服务器场共享服务应用程序

    在此阶段,2010 环境具有两个附加连接(代理),分别用于在前一步骤中共享的服务应用程序。

  2. 在 2013 环境中重新发布内容类型:

  • 在已升级到 2013 模式的 2013 内容类型中心 (ContentTypeHub1),重新发布之前发布的所有内容类型(Doc1 和 DocSet1)。

  • 在处于 2010 模式的 2013 重复内容类型中心 (ContentTypeHub3),重新发布之前发布的所有内容类型(Doc1 和 DocSet1)。

    有关详细信息,请参阅从内容发布中心发布内容类型

  1. 在 2010 环境中重新发布内容类型:
  • 在 2010 内容类型中心 (ContentTypeHub2),重新发布之前发布的所有内容类型(Doc1 和 DocSet1)。

配置连接(代理)

此过程的最后阶段是配置所有 Managed Metadata Service 应用程序的连接(代理)。

下图显示了服务器场之间的连接(代理)以及它们配置的顺序。

跨 2010 和2013 服务器场配置 Managed Metadata Service 应用程序的连接(或代理)

新服务器场,显示三个版本的内容类型集线器(2013 服务器场中的 2013 模式、2013 服务器场中的 2010 模式和 2010 服务器场)所需的三个 Managed Metadata Service 应用程序的连接。

  1. 在 2010 服务器场上,在管理中心的“管理服务应用程序”页上,为 Managed Metadata Service (Managed Metadata 3) 的连接设置下列属性:
  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    这使 2010 服务器场中的 ContentTypeHub2 能够使用通过 Managed Metadata 3 服务应用程序发布的内容类型。

  1. 在 2010 服务器场上,在管理中心的“管理服务应用程序”页上,为 Managed Metadata Service (Managed Metadata 1) 的连接设置下列属性:
  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

    这使 2010 服务器场中的 ContentTypeHub2 能够使用存储在 Managed Metadata 1 服务应用程序中的术语存储。

  1. 在 2013 服务器场中,对于 2010 模式内容类型中心 (ContentTypeHub3) 的连接 (Managed Metadata 3),清除以下属性:
  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    这会导致 ContentTypeHub3 无法使用 Managed Metadata 3 服务应用程序中的任何资源。 Managed Metadata 3 仅用于提供到 2010 服务器场的内容类型联合。

  1. 在 2013 服务器场中,对于重复内容类型中心 (ContentTypeHub3) 的连接 (Managed Metadata 2),选择以下属性:
  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    这使 2013 服务器场中的 ContentTypeHub3 能够使用通过 Managed Metadata 2 服务应用程序发布的内容类型。

  1. 在 2013 服务器场中,对于升级内容类型中心的连接 (Managed Metadata 1),选择以下属性:
  • 此服务应用程序是关键字的默认存储位置。

  • 此服务应用程序是列特定术语集的默认存储位置。

  • 使用位于 <URL> 的内容类型库的内容类型。

  • 使用内容类型将内容类型发布更新从内容类型库向下推送到子网站和列表。

    这使得 ContentTypeHub1 以及 2013 服务器场上任何处于 2013 模式的使用网站能够使用通过 Managed Metadata 1 服务应用程序发布的内容类型,且所有内容类型中心都可以使用 Managed Metadata 1 服务应用程序中术语存储中的术语。

最终状态

完成后,Managed Metadata 连接(代理)应如下图中所示:

SharePoint Server 2013 的新服务器场

显示 SharePoint Server 2013 和 SharePoint Server 2010 两个服务器场的最终状态,以及三个 Managed Metadata Service 应用程序和服务三个内容类型集线器版本(2013 和 2010 模式的 2013 服务器场和 2010 服务器场)的连接。

其中:

  • Managed Metadata 1 是用于处于 2013 模式的 2013 服务器场中使用网站的内容类型联合的服务应用程序。 此服务应用程序还用于 2010 和 2013 服务器场中的所有术语存储操作。

  • Managed Metadata 2 是用于仍处于 2010 模式的 2013 服务器场中使用网站的内容类型联合的服务应用程序。

  • Managed Metadata 3 是用于 2010 服务器场中使用网站的内容类型联合的服务应用程序。

有关如何管理跨 2010 和 2013 服务器场的内容类型联合的建议

请注意,您具有两个共享内容类型的环境(2010 和 2013),因此必须注意在创建或更改共享内容类型时管理共享内容类型的方式。

当您添加内容类型时,必须确保内容类型 ID 在所有三个内容类型中心上相同。 为此,请执行此过程:

  1. 在 2013 服务器场中的 ContentTypeHub1 上,手动创建新的内容类型并将其发布。

  2. 标识该内容类型的内容类型 ID。

    提示

    [!提示] 您可以使用 Microsoft PowerShell 或对象模型,通过代码提取内容类型 ID。 内容类型 ID 也在内容类型库中内容类型的 URL 中进行了编码。 因此,查找内容类型 ID 更简单的方式是,导航到网站的内容类型库,然后单击内容类型。 该内容类型的 URL 包含参数 ctype,这实际上就是该内容类型的内容类型 ID。 例如,ctype=0x010100C0EE90869D5B8B46A4448713A9F8984C。

  3. 在其他两个内容类型中心(ContentTypeHub2 和 ContentTypeHub3)上创建使用该 ID 的内容类型,然后进行发布。

    若要创建具有特定 ID 的内容类型,不能使用用户界面。 必须使用 XML 或对象模型。 有关详细信息,请参阅Creating Content Types

当您向内容类型添加新字段时,确保字段 ID 在所有三个内容类型中心上相同。 为此,请执行此过程:

  1. 在 2013 服务器场中的 ContentTypeHub1 上,手动创建内容类型的新字段并重新发布内容类型。

  2. 使用对象模型或 Microsoft PowerShell 提取 SPContentTypeSchemaXML 属性。

  3. 在其他两个内容类型中心(ContentTypeHub2 和 ContentTypeHub3)上将提取的属性添加到相应的内容类型。

  4. 从其他内容类型中心(ContentTypeHub2 和 ContentTypeHub3)重新发布更新的内容类型。

    MSDN 上的以下文章提供了关于如何使用对象模型处理内容类型的示例:SPContentType 类.