移动团队项目集合

你可以将团队项目集合从一个 Team Foundation Server (TFS) 部署移到另一个 Team Foundation Server 部署。 例如:

  • 你的组织中具有多个 TFS 部署,并且你希望将集合移至其他部署来更好地满足你的业务需求。

  • 你希望将集合移至远程办公室,该办公室具有其自己的 TFS 部署。

  • 你希望通过向其添加另一个 SQL Server 的实例来扩展此部署,并且希望在多个实例之间分发现有集合。

  • 你需要以增量方式升级你的部署,方法是将单个团队项目集合从运行较早版本的 TFS 部署中分离,然后将其移动到运行当前版本的 TFS 的服务器。 (此操作的一个常见原因是,某些团队可能需要迁移到更新版本的 TFS,但是另一些团队由于工具或项目原因必须保留在较早版本上。)在此方案中,你还必须使用配置功能向导升级集合内的每个团队项目。 有关详细信息,请参阅更新升级的团队项目以访问新功能

移动集合的步骤将取决于过去承载该集合的部署和要移至的目标部署的特定配置。 例如,如果将集合移至一个新域中,你将需要将该域中的用户添加到集合级别和项目级别的相应组中。 同样,如果你将一个集合移动到使用不同的 SharePoint Web 应用程序的 TFS 部署,你需要将支持该集合的站点集合数据库移动到该 SharePoint Web 应用程序,或者你必须将支持该集合的 SharePoint Web 应用程序添加到你已移至的 TFS 部署。

以下是移动整个团队项目集合的方法。 若要移动部分集合,请参阅拆分团队项目集合

主题内容

  1. 分离集合

  2. 备份集合数据库

  3. 移动集合数据库

  4. 附加集合

  5. 配置移动后的团队项目集合

  6. 配置项目

问题解答

  • 我的 TFS 部署使用报表。 在移动集合时如何移动报表?

  • 如何移动使用 SharePoint 产品的集合?

  • 如何移动包含实验室管理的团队项目集合?

  • 如何移动与 Project Server 集成的团队项目集合?

  • 我已将我的集合移动到 TFS,此 FTS 的用户或组不应该有某些团队项目中的项目或功能的访问权限,但是需要访问移动后的集合中的其他项目。 我是否可以使他们看不到我不希望他们看到的项目?

准备工作

在开始移动前,确保你在服务器上、要移出的两个部署所使用的软件中以及你正在移至的软件中是管理员。 如果你不是管理员,则添加为管理员

1.分离集合

在移动集合前,必须先将该集合从其运行所在的 TFS 部署中分离出来。 不要跳过此步骤,这非常重要。 当你分离集合时,停止所有作业和服务,然后停止集合数据库。此外,分离过程通过集合特定的数据从配置数据库进行复制,并将其保存为团队项目集合数据库的一部分。 正是此配置数据允许集合数据库附加到不同的 TFS 部署。 如果该数据不存在,你无法将该集合附加到任何 TFS 部署,除了它源自的 TFS 部署。

备注

分离集合将阻止用户访问该集合中的任何项目。

  1. 在承载你要移动的集合的服务器上打开 Team Foundation 的管理控制台,在**“团队项目集合”**中,突出显示你要移动的集合。

  2. 在**“常规”选项卡上,选择“分离集合”**。

    在常规选项卡上,选择后再分离

    将打开**“分离团队项目集合向导”**。

  3. (可选)在**“提供团队项目集合的维护消息”页的“维护消息”**中,为可能尝试连接到此集合中的项目的用户提供消息。

  4. 选择**“下一步”**。

  5. 在**“查看将用于拆分团队项目集合的设置”**页上,查看详细信息。

  6. 若要更改任何设置,请选择**“上一步”。 如果这些设置似乎是正确的,请选择“验证”**。

  7. 当所有就绪检查都成功完成时,请选择**“分离”**。

  8. 当所有过程都已完成时,在**“监视团队项目集合分离进度”页中,选择“下一步”**。

    向导将显示你的进程

  9. (可选)在**“查看此团队项目集合的补充信息”**页上,选择或记下日志文件的位置。

  10. 选择**“关闭”**。

    团队项目集合不再显示在管理控制台中的集合列表中。

    TFS 管理控制台没有显示已分离

2.备份集合数据库

在分离集合之后,必须备份其数据库以将其移至其他服务器。 若要执行此任务,必须使用随 SQL Server 提供的工具。

使用与 SQL Server 附带提供的工具

  • 有关此任务的详细信息,请参阅 Microsoft 网站上的以下页面,并确保选择与你的部署匹配的 SQL Server 版本:在 SQL Server 中备份和还原数据库配置备份日程安排和计划.

    重要

    你只可以将数据库还原到相同或更新版本的 SQL Server。你无法将 SQL Server 数据库还原到此产品的较早版本。

    如果你的原始部署使用的是 SQL Server Enterprise Edition 或 SQL Server Datacenter Edition,并且你要将数据库还原到运行 Standard Edition 的服务器,则必须使用通过禁用 SQL Server 压缩生成的备份集。只有禁用了数据压缩,才能成功地将 Enterprise Edition 或 Datacenter Edition 数据库还原到运行 Standard Edition 的服务器。若要禁用压缩,请按照 Microsoft 知识库文章中的步骤进行操作。

3.移动集合数据库

作为集合移动过程的一部分,必须将集合数据库还原、复制或移动到相应的 SQL Server 实例,该实例已配置为对集合要移至的 TFS 部署提供支持。 你可以根据偏好选择移动数据库的方法。

使用与 SQL Server 附带提供的工具

有关将数据库移至另一个 SQL Server 的实例的详细信息,请参阅:

5.附加集合

还原集合数据库之后,可以将该集合附加到要移至的 TFS 部署。 如果要移至的部署使用报表,则作为此过程的一部分,将为要附加的集合生成报表文件夹和默认报表。

备注

如果你的部署使用 SharePoint 产品,而且 TFS 的服务帐户不是“服务器场管理员”组的成员,或者你的部署使用报表,并且你已创建了与之前部署的文件夹和路径相同的报表文件夹和路径,将在你附加该集合时显示警告。此行为是预期行为,你可以继续操作。

  1. 在承载你要将集合移至的部署的应用程序层的服务器上打开 Team Foundation 的管理控制台。

  2. 选择**“团队项目集合”,然后选择“附加集合”**。

    使用 TFS 管理控制台

    将打开**“附加团队项目集合向导”**。

  3. 在**“选择要附加的团队项目集合数据库”页的“SQL Server 实例”**中,提供承载集合数据库的服务器和实例的名称(如果未列出)。

    确保 SQL Server 实例正确

  4. 在**“数据库”列表中,选择要附加的集合数据库,然后选择“下一步”**。

  5. 在**“输入团队项目集合信息”页的“名称”**中,提供该集合的名称(如果未提供)。

  6. (可选)在**“说明”**中,提供该集合的说明。

  7. 选择**“下一步”**。

  8. 在**“查看将用于附加团队项目集合的设置”**页上,查看信息。

  9. 若要更改任何设置,请选择**“上一步”。 如果所有设置都正确,请选择“验证”**。

  10. 当所有就绪检查都成功完成时,请选择**“附加”**。

  11. 当所有过程都已完成时,在**“监视团队项目集合附加进度”页中,选择“下一步”**。

  12. (可选)在**“查看此团队项目集合的补充信息”**页中,选择或记下日志文件的位置。

  13. 选择**“关闭”**。

    团队项目集合将显示在管理控制台中的集合列表中。 在原始部署中为此集合提供支持的 SharePoint Web 应用程序将显示在 Web 应用程序列表中。

    如果配置未完成,则停止收集

  14. (可选)在 Web 应用程序列表中修改或移除 Web 应用程序。 有关详细信息,请参阅修改或移除 SharePoint Web 应用程序与 Team Foundation Server 之间的访问权限

6.配置移动后的团队项目集合

如果你在同一域中移动了集合,并且打算使用以前为该集合提供支持的同一 Web 应用程序,希望向该集合的管理员授予对此部署的访问权限,则可跳过此过程。

在移动集合之后,必须使用相应设置更新该集合的 Web 应用程序和权限组。

配置移动后的集合

  • 打开团队项目集合的每个选项卡,如有必要,修改反映服务和位置的设置以匹配当前 TFS 上的资源的位置。 对于 SharePoint 和报表资源,执行此步骤尤其重要。 如果你看到错误,请确保你的帐户具有团队项目集合的管理员所需的权限,而且已相应地添加了任何其他团队项目集合管理员。

    有关此任务的信息,请参阅管理团队项目集合.

配置项目

如果在同一域中移动了集合,并且希望向该集合中的项目用户授予对此 TFS 部署的访问权限,则可跳过此过程。

在为移动后的集合配置管理员之后,你或管理员必须向该集合中的项目添加用户和组。 你可能还需要为 SharePoint 产品 和 Reporting Services 中的用户配置权限,具体取决于你的部署。

向团队项目添加用户

向移动后的团队项目添加资源

问题解答

问:我的 TFS 部署使用报表。如何在移动集合时移动报表?

**答:**首先,你将需要保存或导出你希望从报表服务器移出的任何报表,此服务器在其原始部署中支持集合。 然后你将需要将每个报表手动上载到报表服务器,此服务器将支持移动后的集合,这可能是一个很长的过程。 请考虑你是否需要上载所有报表,或者报表子集能否满足你的业务需求。 你不必上载所有报表或任何报表,但是,在移动过程完成之后,只能使用已上载的报表。

你还将需要在移动集合后在原始部署上重新生成仓库和分析服务多维数据集,以使原始部署不会继续尝试为不在该处的集合生成报表。

移动报表

  1. 导出或保存要从报表服务器移出的报表,此服务器在其原始部署中支持集合。 有关此任务的信息,请参阅导出报表保存报表

  2. 在报表管理器中,将每个要移动的报表上载到报表服务器上的相应文件夹,此服务器在其新环境中支持集合。

    有关详细信息,请参见 Microsoft 网站上的以下主题:将文件上载到文件夹

  3. 在报表管理器中,编辑每个报表,以便将数据源更改为新的报表服务器。

    有关详细信息,请参阅 Microsoft 网站上的以下主题:操作方法:为报表配置数据源属性。

重新生成数据仓库和分析服务

  1. 打开 Team Foundation 的管理控制台。

  2. 在导航栏中,选择**“报表”**。

  3. 在**“报表”中,选择“开始重新生成”**。

  4. 在**“重新生成仓库和 Analysis Services 数据库”对话框中,选择“确定”**。

    备注

    在“启动重新生成”操作完成之后,重新生成仓库和重新填充数据也将随之完成。整个过程可能需要几小时才能完成,具体取决于部署的大小和数据量。

问:如何移动使用 SharePoint 产品的集合?

**答:**若要移动使用 SharePoint Web 应用程序的团队项目集合,你必须移动团队项目集合本身以及支持团队项目集合的 SharePoint 站点集合。 此站点集合必须移到将在新部署中支持团队项目集合的 Web 应用程序。 具体来说,你必须备份站点集合数据库,然后移动站点集合数据库。 完成此操作并将移动后的团队项目集合移动到其目标 TFS 后,你将需要修复该 TFS 与其 SharePoint Web 应用程序的之间的连接以确保附加的集合正确连接到移动后的站点集合。 你将需要确保团队项目集合的 SharePoint 选项卡指向该站点集合数据库。

备注

如果你在使用 SharePoint 产品 的部署之间移动集合,强烈建议在这两个部署中使 TFS 的服务帐户成为 SharePoint 产品 中“服务器场管理员”组中的成员。否则,你可能在尝试分离或附加集合时遇到错误。

可以移动团队项目集合,而无需将此成员资格授予 TFS 的服务帐户。但是,在附加该集合时将显示错误,你将需要执行额外步骤以将项目重新连接到它们的门户网站。即使你的操作要求通常限制将此成员资格授予服务帐户,在移动操作期间也应考虑将服务帐户添加到“服务器场管理员”组。

  1. 打开 Team Foundation 的管理控制台,选择**“SharePoint Web 应用程序”**,在 Web 应用程序列表中,选择支持刚刚所附加的集合的 Web 应用程序。

    在选择列表中的 Web 应用程序后,将会显示**“修复连接”**按钮。

  2. 选择**“修复连接”,然后在“修复到 SharePoint Web 应用程序的连接”对话框中,选择“修复”**。

  3. 在**“团队项目集合”**中,选择移动后的团队项目集合、选择“SharePoint 产品”选项卡,并修改设置以指向站点集合数据库。

问:如何移动包含实验室管理的团队项目集合?

**答:**如果你将集合移动到不同的域或打算使用不同的 System Center Virtual Machine Manager,你必须在开始移动前从集合数据库删除虚拟机、模板、团队项目主机组和团队项目库共享,并在移动后在 Microsoft 测试管理器 中重新创建它们。

在移动集合前删除实验室管理资源

  • 有关如何从指定团队项目集合中移除所有组主机、库共享和环境的信息,请参阅TFSConfig Lab /Delete 命令 (带有 /External 选项)。

在移动集合后配置实验室管理资源

  1. 为 Team Foundation 配置应用程序层。

    有关详细信息,请参阅为 SCVMM 环境配置 Lab Management

  2. 在新的 SCVMM 中重新创建黄金母版虚拟机和模板,并将虚拟机和模板导入团队项目集合中。

    有关详细信息,请参阅为 Lab Management 创建并存储虚拟机和模板

  3. 为每个团队项目重新创建环境。

    有关详细信息,请参阅使用存储的虚拟机和模板创建 SCVMM 环境

问:如何移动与 Project Server 集成的团队项目集合?

**答:**可以。 你可能需要在移动前从 Project Web Access 或 Project Web App (PWA) 取消集合的映射,并在以后重新映射它。 你的具体步骤将有所不同。 每个 PWA 实例只能与 TFS 的一个部署集成。 TFS 的不同部署上的集合不能与同一个 PWA 实例同步。

例如,如果你在 TFS 部署上有两个集合,而且它们都与 Project Server 集成:

  • 如果你打算移动这两个集合并继续使用同一个 PWA 实例,则无需取消集合的映射。 但是,你必须遵循本部分中的步骤以在移动后重新注册它们。

  • 如果你打算只移动一个集合,则必须先取消其中一个集合的映射。 取消哪个集合的映射取决于你要如何支持 Project Server 与 TFS 部署的集成。

    • 如果你不打算继续进行某集合的集成或要将它移动到与另一 PWA 实例集成的 TFS 部署,则必须取消该集合的映射。

    • 如果你打算继续与同一 PWA 实例集成,则必须先取消与该实例集成的其他一个或多个集合的映射,然后才能移动该集合。

在移动前取消集合的映射

  • 使用具有 /force 选项的 TFSAdmin ProjectServer /UnmapPWAFromCollection 命令。

    重要

    如果使用 /force 选项,则你将从 Project Server 取消所有工作项的链接,如果此操作不是你的本意,可能导致意外后果。有关详细信息,请参阅将团队项目集合映射到 PWA 的实例更改您的部署配置

完成移动集合的操作后,如果要继续与 Project Server 集成,你将需要执行额外步骤:

  • 将支持企业项目计划的 Project Web Access 或 Project Web App (PWA) 的实例注册到承载移动后的团队项目集合的应用程序层服务器。

  • 等待元数据同步。

  • 如果之前承载该集合的应用层服务器不承载与 Project Server 集成的其他集合,则注销该服务器。

在移动后将集合与 Project Server 集成

  • 若要将 PWA 实例注册到承载移动后的集合的 TFS 部署,则使用具有 /tfs/force/pwaTFSAdmin ProjectServer /RegisterPWA 命令。 有关详细信息,请参阅向 TFS 注册 PWA 的实例

    注册该实例后,必须等待元数据同步。 此过程将按预设的时间表自动发生。 有关详细信息,请参阅TFS-Project Server 集成的同步过程概述

  • 同步完成后,使用具有 /tfs/pwa 选项的 TFSAdmin ProjectServer /UnregisterPWA 命令移除上一个 PWA 实例(如果有)与 TFS 之间的已注册关联。 有关详细信息,请参阅向 TFS 注册 PWA 的实例删除参与数据同步的组件

问:如何限制对团队项目中选择功能的访问权限?

**答:**有权访问集合中一个项目的用户可以查看集合中的其他项目,即使他们在该项目中无权修改工作项或执行其他操作。 你可以限制个人或 TFS 组创建或修改选中的项目,以及限制它们看到项目,方法是专门创建组并在这些组上配置限制。 有关详细信息,请参阅限制对部署中项目的访问