3

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

4

4 回答 4

3

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

BACKUP DATABASE TfsActivityLogging
TO disk = 'C:\TFS 2008 Upgrade.bak'
WITH INIT
BACKUP DATABASE TfsBuild
TO disk = 'C:\TFS 2008 Upgrade.bak'
BACKUP DATABASE TfsIntegration
TO disk = 'C:\TFS 2008 Upgrade.bak'
备份数据库 TfsVersionControl
到磁盘 = 'C:\TFS 2008 Upgrade.bak'
备份数据库 TfsWorkItemTracking
到磁盘 = 'C:\TFS 2008 Upgrade.bak'
备份数据库 TfsWorkItemTrackingAttachments
到磁盘 = 'C:\TFS 2008 Upgrade.bak'

然后将备份文件移动到新服务器,并恢复它们:

RESTORE DATABASE TfsActivityLogging
FROM Disk = 'C:\TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 1,
MOVE 'TfsActivityLogging' to '<DataFileLocation>\TfsActivityLogging.mdf',
MOVE 'TfsActivityLogging_log' to '<LogFileLocation>\ TfsActivityLogging_log.ldf '
RESTORE DATABASE TfsBuild
FROM Disk = 'C:\TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 2,
MOVE 'TfsBuild' to '<DataFileLocation>\TfsBuild.mdf',
MOVE 'TfsBuild_log' to ' <LogFileLocation>\TfsBuild_log.ldf'从磁盘
恢复数据库 TfsIntegration
= 'C:\TFS 2008 升级。bak'
带有恢复、
替换、
文件 = 3,
将“TfsIntegration”移动到“<DataFileLocation>\TfsIntegration.mdf”,
将“TfsIntegration_log”移动到“<LogFileLocation>\TfsIntegration_log.ldf” 从磁盘
恢复数据库 TfsVersionControl
=“C:\TFS 2008 Upgrade.bak”
恢复、
替换、
文件 = 4、
将“TfsVersionControl”移动到“<DataFileLocation>\Tfs_<TeamProjectCollectionName>.mdf”、
将“TfsVersionControl_log”移动到“<LogFileLocation>\Tfs_<TeamProjectCollectionName>_log.ldf”从磁盘
恢复数据库 TfsWorkItemTracking
= 'C:\TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 5,
将“TfsWorkItemTracking”移动到“<DataFileLocation>\TfsWorkItemTracking.mdf”,
将“TfsWorkItemTracking_log”移动到“<LogFileLocation>\TfsWorkItemTracking_log.ldf”从磁盘中
恢复数据库 TfsWorkItemTrackingAttachments
= 'C:\TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
文件 = 6,
将“TfsWorkItemTrackingAttachments”移动到“<DataFileLocation>\TfsWorkItemTrackingAttachments.mdf”,
将“TfsWorkItemTrackingAttachments_log”移动到“<LogFileLocation>\TfsWorkItemTrackingAttachments_log.ldf”

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

"C:\Program Files\Microsoft Team Foundation Server 2010\Tools\tfsconfig.exe" 导入 /sqlinstance:server078.live01.lan.local /collectionName:<TeamProjectCollectionName> /confirmed

然后你应该准备好了。:)

于 2010-06-15T13:25:45.630 回答
3

Microsoft Rangers 前段时间为此制作了以下资源:

TFS 集成平台

这包括一些帮助不同迁移策略的工具,以及讨论它们的白皮书,以及一些有助于指导您思考的精美海报。


编辑添加:

我还刚刚写了一系列博客文章,详细介绍了我尝试这样做的经历:

杀死 TFS 2005 - 第 1 部分

但是作为一个提醒,除非你有一个相当简单的团队项目,否则你将进入一个痛苦的世界——公平地说,它附带的文档确实警告你这一点。

于 2010-11-15T16:14:35.607 回答
0

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

于 2012-06-28T17:15:01.403 回答
0

如果您只想一次移动一个项目,您可以使用Antony Gibb 的过程,然后在 TFS 2010 中删除您还不想移动的项目。然后在 TFS 2008 服务器上删除您确实想要移动的项目。例子:

您在 TFS 2008 上有项目 A、B 和 C,并且您只想移动项目 A。

  1. 执行上述程序
  2. 导入后从 TFS 2010 中删除项目 B 和 C
  3. 从 TFS2008 实例中删除项目 A。
于 2010-06-15T14:36:15.477 回答