从TFS 2008迁移到TFS 2010

问题描述:

我们成功构建了TFS 2010基础架构和第一个使用Visual Studio 2010的VM。现在我有一个非常简单的问题。我如何将现有的TFS 2008解决方案转移到新的2010? TFS中是否包含任何工具?从TFS 2008迁移到TFS 2010

首先,我建议从原来的2008年TFS数据层服务器备份您的TFS数据库:

BACKUP DATABASE TfsActivityLogging
TO DISK = 'C:\ TFS 2008 Upgrade.bak'
WITH INIT
BACKUP DATABASE TfsBuild
TO磁盘= 'C:\ TFS 2008 Upgrade.bak'
BACKUP DATABASE TfsIntegration
TO磁盘= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsVersionControl
TO磁盘= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsWorkItemTracking
TO磁盘= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsWorkItemTrackingAttachments
TO磁盘= 'C:\ TFS 2008 Upgrade.bak'

然后移动备份文件到新的服务器上,并恢复他们:

RESTORE DATABASE TfsActivityLogging
FROM磁盘= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 1,
MOVE 'TfsActivityLogging' 到 '< DataFileLocation> \ TfsActivityLogging.mdf' ,
MOVE 'TfsActivityLogging_log' 到 '< LogFileLocation> \ TfsActivityLogging_log.ldf'
RESTORE DATABASE TfsBuild
FROM磁盘= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 2,
MOVE 'TfsBuild' 到 '< DataFileLocation> \ TfsBuild.mdf',
MOVE 'TfsBuild_log' 到 '< LogFileLocation> \ TfsBuild_log.ldf'
RESTORE DATABASE TfsIntegration
FROM磁盘= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 3,
MOVE 'TfsIntegration' 到 '< DataFileLocation> \ TfsIntegration.mdf',
MOVE'TfsIntegration_log'至'< LogFileLocation> \ TfsIntegration_log.ldf'
RESTORE DATABASE TfsVersionControl
FROM Disk ='C:\ TFS 2008 Upgrade。BAK '
WITH RECOVERY,
REPLACE,
FILE = 4,
MOVE 'TfsVersionControl' 到 '< DataFileLocation> \ Tfs_ < TeamProjectCollectionName>的.mdf',
MOVE 'TfsVersionControl_log' 到' < LogFileLocation> \ Tfs_ < TeamProjectCollectionName> _log.ldf”
RESTORE DATABASE TfsWorkItemTracking
FROM磁盘= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 5,
MOVE 'TfsWorkItemTracking' 到 '< DataFileLocation> \ TfsWorkItemTracking.mdf',
MOVE 'TfsWorkItemTracking_log' 到 '< LogFileLocation> \ TfsWorkItemTracking_log.ldf'
RESTORE DATABASE TfsWorkItemTrackingAttachments
FROM磁盘=“C :\ TFS 2008 Upgrade.bak”
WITH RECOVERY,
REPLACE,
FILE = 6,
MOVE 'TfsWorkItemTrackingAttachments' 到 '< DataFileLocation> \ TfsWorkItemTrackingAttachments.mdf',
MOVE 'TfsWorkItemTrackingAttachments_log' 到 '< LogFileLocation> \ TfsWorkItemTrackingAttachments_log.ldf'

然后,在新服务器上,运行导入命令:

“C:\ Program Files文件\ Microsoft小组基础Server 2010 \工具\ tfsconfig.exe”进口/sqlinstance:server078.live01.lan.local /集合名:< TeamProjectCollectionName> /确认

ÿ你应该准备好去。 :)

+0

我需要在当时移动1个团队项目,因为在我们移动它之后,我们需要额外的东西。我只是在2010年将新的系列产品移植到整个TFS 2008中。是否有一种侵入性较小的解决方案?TFS 2008现在是我们的产品 – Raffaeu 2010-06-15 13:57:54

+0

侵入性较差,不需要一次性移动所有内容,但这并不意味着您一次不能移动一个团队项目: 当要迁移团队项目时,重复abov e进程引用了不同的目标Team Project Collection名称,并且一旦通过管理控制台导入,就删除当时未升级的每个团队项目。但是,如果您这样做: 1)您不能从一个Team Project Collection分支到另一个。 2)权限变得难以管理。 3)您需要为每个团队项目集合使用不同的构建服务器。 – 2010-06-17 08:35:19

+1

我真的会建议您采用可重复的升级过程,并在2008年到2010年之间切换过夜。 – 2010-06-17 08:36:03

如果您只想一次移动一个项目,则可以使用Antony Gibb's procedure,然后删除您不想移动的TFS 2010中的项目。然后在TFS 2008服务器上删除您想要移动的项目。例如:

你有项目A,B和C在2008年TFS,你只想移动项目A.

  1. 从TFS 2010执行上述步骤
  2. 删除项目B和C导入后
  3. 从TFS2008实例中删除项目A.
+0

这个答案中的“above”是什么?安东尼的回答?因为目前你的答案直接在问题的下方,至少在我的屏幕上:) – OregonGhost 2010-06-15 15:40:27

+0

是的,布莱恩指的是安东尼的答案。 – 2010-06-15 19:59:24

+0

如果您按照Bryan的建议,那么您执行的每个导入都需要是一个单独的Team Project Collection,不建议 – 2011-10-25 08:44:26

微软流浪者制作了下面这样的资源前段时间在此:

TFS Integration Platform

这包括一些工具,以帮助不同的迁移策略,以白皮书讨论他们一起,和一些不错的海报来帮助指导你的思考。


编辑补充:

我也只是写详细介绍我的经验试图做的只是这一系列博客文章已经:

Killing Off TFS 2005 - Part 1

但是,如果你有一个非常简单的团队项目,那么你就会陷入一个痛苦的世界 - 成为f请随机附带的文档向您发出警告。

另外考虑一下,你可能会从旧系统中得到一些你不想继承的东西,但也许确实希望能够看到后代。在完成TFS集成工具之后,您可以将旧的2008年tfs实例升级到2010年(这会将旧版团队集合升级到2010版,然后您可以将其作为另一个集合(只读)添加到新版2010然后你有你所有的历史和项目,但他们不会干涉你的新的原始安装