使用 TFS 计划备份/还原将 TFS 2015 数据库还原到 TFS 2018 失败

Posted

技术标签:

【中文标题】使用 TFS 计划备份/还原将 TFS 2015 数据库还原到 TFS 2018 失败【英文标题】:Restoring TFS 2015 databases to TFS 2018 failed using TFS Scheduled Backup/Restore 【发布时间】:2018-11-01 16:16:29 【问题描述】:

我正在执行从 TFS 2015 到 TFS 2018 的基于迁移的升级。我使用 TFS(计划备份)执行完整备份,但是当我尝试使用 TFS 2018 计划备份进行还原时,它不会列出数据库。如果我单击“列出备份”,“等待对话框”将旋转一次并死掉。我在日志文件中没有任何内容。数据库所在的目录与权限正确共享,并在资源管理器中显示为共享。我使用的是 Windows Server 2016。我必须使用 SSMS 17.6 为 SQL Server 2016 执行还原。这让我很紧张,因为没有执行每个产品升级对数据库执行的保护。有没有人看到这个问题并有解决方案?

【问题讨论】:

【参考方案1】:

您需要通过运行以下命令来更改 ServerID:

"C:\Program Files\Microsoft Team Foundation Server 12.0\Tools\TfsConfig.exe" ChangeServerID /SQLInstance:[New Sql server name] /DatabaseName:Tfs_Configuration

【讨论】:

【参考方案2】:

据我所知,内置的备份/恢复工具是针对灾难恢复的场景,而不是针对迁移或升级的场景。我不希望它以您尝试使用它的方式工作。

最好的办法是手动恢复数据库,然后执行测试升级。

【讨论】:

我认为使用 TFS 进行备份/恢复的目的是因为它会剥离 GUIDS 和指针,因此当您执行预生产安装时,您不会干扰生产环境。您能否详细说明为什么它用于 DR 而不是我的情况?【参考方案3】:

如果您使用计划备份向导从生产部署中生成数据库备份,您还可以使用它来恢复预生产部署中的备份。如果没有,您当然也可以按照标准 SQL 过程来恢复备份。

您可以按照以下文章尝试试运行升级:

https://docs.microsoft.com/en-us/vsts/tfs-server/upgrade/pre-production?view=tfs-2017&viewFallbackFrom=tfs-2018

有用的链接:

https://docs.microsoft.com/en-us/vsts/tfs-server/upgrade/get-started?view=tfs-2018 https://docs.microsoft.com/en-us/vsts/tfs-server/upgrade/walkthrough?view=tfs-2017&viewFallbackFrom=tfs-2018

【讨论】:

【参考方案4】:

我遇到了同样的问题。在 SQL 中手动还原数据库,然后安装 TFS 2018。选择开发类型为 '我有现有数据库可用于 Team Foundation Server 开发'。它将列出 2015 年的数据库。您可以运行该向导并对其进行升级。

【讨论】:

好的,我遇到的问题是它正在寻找连接到旧服务器。旧服务器死机了,那么在没有旧服务器以及仅备份文件和加密密钥的情况下,我该如何做呢?

以上是关于使用 TFS 计划备份/还原将 TFS 2015 数据库还原到 TFS 2018 失败的主要内容,如果未能解决你的问题,请参考以下文章

Team Foundation Server 2018 - TFS_SERVICE_LEVEL不匹配

TFS Update 2 备份上的兼容性 TFS Update 1 备份?

将 TFS 2017 克隆到新硬件

从SQL Server bak文件还原Team Foundation Server

HOWTO:在还原后修复不同步的 TFS 工作区

无法还原 Team Foundation 服务器数据库