TFS无法识别导入的数据库

时间:2018-07-31 08:09:37

标签: tfs azure-devops tfs2013

我的公司正在使用TFS 2013(更新4 = 12.0.31101.0)服务器进行开发。我的任务是将TFS服务器迁移到VSTS,但意识到我必须更新到TFS2018才能使用当前的迁移工具。
我的老板显然不喜欢在生产环境中执行“开放式心脏手术”的想法,因此我们创建了SQL收集数据库的备份(通过使用Management Studio创建转储),并安装了TFS / SQL试用版虚拟机中的服务器(VirtualBox),并尝试导入备份。

使用内置的导入工具(TFS \ Tools \ TfsRestore.exe),我将旧的数据库导入到SQL Server中,该数据库实际上工作得很好,在ManagementStudio中查看该数据库所需的一切似乎都存在在那里。

但是,尝试在Team Foundation Server管理控制台中附加Team Project集合,我根本找不到它。我列出了可用数据库,它找到的唯一一个是在服务器安装期间创建的DefaultCollection。

我确保版本是完全相同的版本,唯一的区别是许可证(在我们的生产环境中是真实的许可证)和在VM中的开发许可证。

任何人都知道为什么会这样吗?也许可以通过某种方式获得更详细的异常?

编辑:尝试使用TfsConfig registerDB命令会引起期望:
TFS30040: The database is not correctly configured. Contact your Team Foundation Server administrator

3 个答案:

答案 0 :(得分:0)

首先,请确保您是新Team Foundation Server使用的任何SQL Server数据库的Team Foundation Administrators安全组成员和sysadmin安全组成员。

通常,在为用户赋予适当的数据库权限之后,应解决此类问题。

此外,配置后,您可以尝试RemapDBs将TFS重定向到其数据库。

返回错误:TF30040: The database is not correctly configured. Contact your Team Foundation Server。这是一个类似的线程供您参考:TF30040: The database is not correctly configured

此外,如果存在一些更详细的错误消息以进行故障排除,您还可以在VM上检查事件视图。

答案 1 :(得分:0)

在2013年服务器上进行备份之前,您是否已在TFS管理控制台中分离了集合?

当分离集合时,会将所有相关数据从TFS配置数据库移到集合数据库中。然后,您可以备份集合数据库并将其还原到新的SQL Server实例。

请注意,分离集合将使它脱机,直到备份完成并重新附加集合为止。

然后,新版本的TFS应该能够看到该集合并将其附加。这会将配置数据复制到新的配置数据库中,您将能够使集合联机。

步骤是

  1. 在TFS 2013中分离集合
  2. 备份TFS 2013收集数据库
  3. 重新连接TFS 2013集合,以便用户在测试升级时可以继续使用该集合
  4. 将备份复制到2018服务器
  5. 还原备份
  6. 在TFS 2018管理控制台中附加收藏集

一旦您感到满意,升级将顺利进行,请重复此过程,但跳过第3步。

答案 2 :(得分:0)

通过遵循以下指南来做到这一点:https://cromwellhaus.com/2013/08/restoring-tfs-2012-to-sandbox/

简短版本:我缺少配置数据库,使用旧配置后,这非常容易。