我们已经成功地构建了我们的 TFS 2010 基础架构和第一个使用 Visual Studio 2010 的 VM。现在我有一个非常简单的问题。如何将解决方案从现有的 TFS 2008 迁移到新的 2010?TFS 中是否包含任何工具?
4 回答
首先,我建议您从原始 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
然后你应该准备好了。:)
Microsoft Rangers 前段时间为此制作了以下资源:
这包括一些帮助不同迁移策略的工具,以及讨论它们的白皮书,以及一些有助于指导您思考的精美海报。
编辑添加:
我还刚刚写了一系列博客文章,详细介绍了我尝试这样做的经历:
但是作为一个提醒,除非你有一个相当简单的团队项目,否则你将进入一个痛苦的世界——公平地说,它附带的文档确实警告你这一点。
还要考虑到您可能不想继承旧系统中的一些东西,但也许确实希望能够为后代考虑。完成 TFS 集成工具后,您可以将旧的 2008 tfs 实例升级到 2010(这会将您的旧团队集合升级到 2010 版本,然后您可以将其作为另一个集合(只读)添加到新的 2010例如。然后您拥有所有的历史和项目,但它们不会干扰您的新原始安装。
如果您只想一次移动一个项目,您可以使用Antony Gibb 的过程,然后在 TFS 2010 中删除您还不想移动的项目。然后在 TFS 2008 服务器上删除您确实想要移动的项目。例子:
您在 TFS 2008 上有项目 A、B 和 C,并且您只想移动项目 A。
- 执行上述程序
- 导入后从 TFS 2010 中删除项目 B 和 C
- 从 TFS2008 实例中删除项目 A。