我的公司正在使用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
答案 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应该能够看到该集合并将其附加。这会将配置数据复制到新的配置数据库中,您将能够使集合联机。
步骤是
一旦您感到满意,升级将顺利进行,请重复此过程,但跳过第3步。
答案 2 :(得分:0)
通过遵循以下指南来做到这一点:https://cromwellhaus.com/2013/08/restoring-tfs-2012-to-sandbox/
简短版本:我缺少配置数据库,使用旧配置后,这非常容易。