【问题标题】:TF30040: The database is not correctly configured. Contact your Team Foundation Server administrator. Advice NeededTF30040: 未正确配置数据库。请联系您的 Team Foundation Server 管理员。需要的建议
【发布时间】:2020-06-17 03:44:50
【问题描述】:

我正在按照 Mohamed Radwan 的 [本 YouTube 教程] (https://www.youtube.com/watch?v=nm-WOLc-GQQ) 中的步骤,在专用的 Windows Server 2012 R2 Datacenter 主机上执行即将进行的 TFS 2010 迁移升级到 TFS 2013.5 的试运行。

我们的目的是让新实施的 TFS 2013 与 TFS 2010 实例同时运行几天,同时我们验证迁移升级。一旦一切顺利,我们将完成对 TFS 2013 实例的完全切换并停用在 Windows Server 2008 R2 Enterprise 上实施的 TFS 2010 实例。

本教程建议使用 TFSConfig 备份和还原实用程序来备份现有的 TFS 2010 数据库和报告服务密钥,然后将它们还原到 TFS 2013 主机上的我的 SQL Server 2014 实例。

在成功完成数据库并报告密钥还原之后,我试图遵守包括 Microsoft 支持在内的各种来源建议的 TFS 克隆建议,方法是按以下顺序运行这些 TFSConfig 命令:

  1. TFSConfig PrepareClone
  2. TFSConfig 更改服务器 ID
  3. TFSConfig RemapDB

问题是,当我尝试运行 PrepareClone 命令时,我不断收到 TF30040 错误消息(根据此线程的主题标题)。然而,在我继续进行并运行 ChangeServerID 和 RemapDB 命令的几次中,它们成功完成。

我迫切需要一些帮助来解决此 TF30040 错误,因为所有尝试应用其他相关事件中提出的一些解决步骤的尝试都惨遭失败。由于我们打算在验证和验证 TFS 2013 升级的同时运行这两个实例几天,因此找到解决方案很重要。

我遇到的另一个关键问题是,尽管我成功执行了 ServerID 和 RemapDB 命令,但我是否必须成功执行 TFS PrepareClone 命令?换句话说,在这 2-3 天的验证测试中,忽略 PrepareClone 失败并继续同时运行 TFS 2010 和 TFS 2013 实例是否安全?

【问题讨论】:

  • 你们对您的实例进行的自定义有多广泛?你检查过数据库的模式吗?我有点担心,如果您自 2010 版本以来还没有升级,可能有一个非常阴险的原因。
  • @Ryanman,所以您认为一个组织至今没有升级其 TFS 2010 版本可能有一个非常阴险的原因?严重地?多么荒谬的声明。组织使用旧版本的系统或应用程序是否闻所未闻、违法或违反任何法律或法规?我想人们开旧车,而不是买得起最新的、华而不实的车型,也一定有一个非常阴险的理由吧?我期待对线程做出一些积极的贡献……而不是坦率地说没有任何价值的古怪 cmets。
  • ...完全没有必要亲自处理这个问题。阴险不是最好的词(我在分类时输入了我希望有帮助的内容),但是错过了十多年的巨大改进可能意味着你们都定制了很多东西,使得升级变得困难甚至不可能传统方式。这就是我的意思的症结所在。如您所见,不升级的时间越长,难度就越大。我还从负值中赞成您的问题以提供帮助。祝你好运。

标签: sql-server tfs upgrade azure-devops-server


【解决方案1】:

如果您不运行 PrepareClone 命令,原始资源将被原始服务器和新服务器使用。如果原始服务器和新服务器都处于活动状态,并且在任何时间内都指向相同的 SharePoint 或报告资源,则最终可能会导致数据库损坏。

您可以让一台服务器同时运行。或者尝试使用无权访问生产环境的新服务帐号运行命令:

TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL

【讨论】:

  • 我们不会设置 TFS 备份,而是使用 SharePoint 或 Reporting Services 作为我们实施的一部分,@Cece Dong。这是否意味着我们可以完全忽略 PrepareClone 命令或 TF30040 错误?
  • 说实话,我之前使用 PrepareClone 命令没有遇到过这个问题。但是如果你不运行这个命令,它可能仍然指向旧的 tfs 连接,并影响你的生产数据库。您是否在配置克隆 TFS 的 AT 之前运行此命令?您是否尝试使用无权访问生产环境的新服务帐户来运行命令?
  • 所以只是给你一个我所做的简要总结。 [1] 在服务器上安装了 TFS 2013.5。但是,这是关键点,我没有在安装后配置 App Tier。 [2] 使用 TFSBackup 和 TFSRestore 实用程序,我已将 4 个 TFS 2010 数据库(Tfs_Configuration、Tfs_DefaultCollection、ReportServer 和 ReportServer_TempDB)备份并成功恢复到新的数据层服务器,通过 SQL Server 2014 Reporting Services 配置管理器配置了 Reporting Services ,恢复加密密钥,然后继续运行三个 TFSConfig 命令。
  • 我还可以确认我正在使用我的用户帐户(具有管理员权限)来运行命令....而不是服务帐户。该命令是否只需要一个服务帐户即可运行?
  • 你的流程是正确的。它不需要服务帐户,但我遇到了其他遇到此问题的社区成员通过创建一个无法访问生产环境来运行命令的新服务帐户解决了这个问题,所以我希望你试一试。测试新服务器时,是否有可能只关闭旧服务器?
猜你喜欢
  • 2018-08-09
  • 2016-09-21
  • 2019-12-10
  • 2012-06-06
  • 2012-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
相关资源
最近更新 更多