我正在使用 TFS 2012。所有 PC 都使用 Workgroup 连接。(我们没有使用域)。TFS PC 的 PC 名称为 PCTFS 。我们有大约 15 名开发人员使用 TFS。由于我们使用工作组,所以我们在 TFS 服务器 pc 中创建了 15 个开发人员的所有 windows 用户。所以现在 TFS 服务器 PC 有 Windows 用户,如 PCTFS\user1 、 PCTFS\user2 、 PCTFS\user3 等等。
所有这些用户都从他们的 PC 连接到 TFS 服务器 PC。由于他们在 TFS 服务器 PC 中创建了相同的用户,因此身份验证通过匹配 windows 用户名来工作。因此开发人员可以连接到 TFS 服务器并对其进行处理。所有用户都拥有所有集合数据库所需的权限。
现在我们计划将 TFS 服务器转移到另一台 PC。因此,安装了 TFS 的 PC 名称将从 PCTFS 更改为 PCNEWTFS 。因此,当恢复所有集合和所需数据库的 sql 数据库后,权限将引用旧 PC 名称。所以所有用户都应该再次使用新PC。还应在每个集合中为所有用户授予权限。
此外,如果我再次添加所有用户,则添加的用户将在每个集合的 tbl_Identity 表中具有旧的 OwnerId,因为它已恢复数据库。但是当我用新的电脑名称再次添加所有用户时,我猜它会分配新的 OwnerId。因此,没有一个开发人员能够获得他们的旧工作区。
我按照以下步骤将 TFS 恢复到新 PC(参考此链接)
1)我有 TFS_configuration 和所有其他收集数据库的完整备份。(使用 TFSbackup.exe 进行备份)
2)在新电脑上我安装了所有的软件(如 TFS 2012、sql server 等)。
3)在旧服务器中创建所有 Windows 用户帐户。
4)当我检查新电脑时,它创建了默认集合,该集合映射到我停止的 SQL 服务器。
5)现在我删除了该默认集合并恢复了旧 TFS 服务器的所有数据库(TFS_configuration 和所有其他集合数据库。)(使用 TFSrestore.exe 恢复备份)
6) 现在我打开 Application-Tier Only 向导并选择链接中提到的 sql server 实例。还正确更改了 Team Foundation Server URL。我还清理了缓存。
7)现在,当我检查 TFS 管理控制台时,它所有的集合都作为我的旧服务器。
8)我也可以访问组成员资格等。但问题就像我上面提到的那样。
所以请帮我解决这个问题。