使用重复的 TFS 收集数据库将 TFS 2012 升级到 2015 时出现重复的实例 ID 错误

Duplicate Instance ID Error when Upgrading TFS 2012 to 2015 with duplicate TFS collection DB

如何将 TFS 收集数据库和同一数据库的副本(出于存档原因)附加到同一 TFS 服务器?或者如何更改特定数据库 "Instance ID"?

在从 Team Foundation Server (TFS) 2012 升级到 2015 的过程中,升级向导执行就绪检查时出现错误:TF400313:以下数据库具有重复实例。

实际上有两个 TFS 集合数据库实例(tfs_SQA、tfs_SQA_Archive),均从同一个备份文件恢复,但命名不同。根据日志,这两个数据库似乎具有相同的 "Instance ID" guid。如果我删除存档副本,错误就会消失。

如何解决这个错误?是否可以更改 "Instance ID"?是否有可以解决此问题的 TFS 实用程序或命令?

来自 TFS 升级日志文件:

 The following database has a duplicate instance ID: 08c5382e...
 The host name is Tfs_SQA.   
 The following database has a duplicate instance ID: 08c5382e... 
 The host name is Tfs_SQA_Archive.

您可以使用 TFSConfig 通过 [ChangeServerId][1] 选项更改 ID。

您可以将它与 /ProjectCollectionsOnly 标志一起使用,以仅更改项目集合数据库。

注意:我以前从未尝试过使用附加了重复 ID 的两个数据库,所以这样做需要您自担风险。

然而,还值得注意的是,有一个 Collection 选项允许您安全地克隆团队项目集合,这可能是您真正想要做的:

https://www.visualstudio.com/docs/setup-admin/command-line/tfsconfig-cmd#collection