【问题标题】:TFS 2012 upgrade to TFS 2015: Database sync from TFS 2012 to TFS 2015TFS 2012 升级到 TFS 2015:从 TFS 2012 到 TFS 2015 的数据库同步
【发布时间】:2016-06-12 09:24:03
【问题描述】:

我正在使用新配置的新硬件将 TFS 2012 升级到 TFS 2015。 我的策略是复制数据库并升级它们,然后切换到新的 TFS 2015。

在 TFS 从 2012 年到 2015 年实际切换之间会有一段时间(在我的情况下是几天)。采用这种方法是因为我们不能让 TFS 停产。

现在花费的时间(天)将有很多新数据插入到旧的 TFS 2012 数据库中。如何将新的附加数据迁移到新的 TFS 2015?

我有这个问题,因为 TFS 2015 与 TFS 2012 存在表更改,这将通过 TFS 升级来处理。但是如果我想将 TFS 2012 数据插入 TFS 2015 会有什么问题吗? 还是有更好的升级方法?

【问题讨论】:

  • 不推荐/不支持将数据直接插入 TFS 数据库。您应该首先进行测试升级,以了解将您的团队收藏导入 TFS2015 需要多少时间,然后尝试在非工作时间进行“真正的”升级。
  • 我强烈认为您不应该进行两步迁移,因为这会使事情变得非常复杂。尝试对您的迁移进行测试运行,使用可用的预升级工具和性能优化,并尝试在周末进行迁移。
  • Wouter de Kort:我同意你的看法。但我觉得应该有一些方法来同步数据。我们永远不知道升级中是否出现问题,然后将不得不重新安排控制期。 :(
  • 您要升级的总数据量有多大?配置 + 所有集合
  • 虽然有一些工具可以帮助您迁移延迟数据,但没有一个工具能够迁移所有数据,您会丢失一些详细信息。

标签: tfs tfs-2015


【解决方案1】:

您应该进行测试迁移,以帮助您了解升级需要多长时间。

获得此信息后,您需要使 TFS 脱机以进行升级。这通常是一个快速的过程,可以在晚上或周末完成。

不能让任何服务器离线进行定期维护的想法是错误的,是无法实现的。

您不能将数据插入数据库 ss,这会破坏 tfs。

事后同步数据将非常困难且耗时。

【讨论】:

  • 我明白了,我们必须一次性完成升级,否则会担心丢失数据。感谢您的帮助。
【解决方案2】:

尚未提及的另一种方法是考虑分离/附加迁移。这将允许您一次升级安装一个项目集合,并将整个服务器的停机时间减少到每个集合级别。如果您的服务器有多个集合,则可能值得付出额外的努力。整体迁移时间会更长,但您将有机会单独计划每个集合,以便在破坏性最小的时刻发生。

在迁移期间,您可能能够提升 TFS 和 SQL Server 的规格,尤其是在您运行虚拟的情况下。我过去添加了 8 个额外的内核和 16gb 的内存只是为了加快进程。切换到快速网络存储或借此机会将机器升级到 SSD 是一个合适的时机。

还要确保您的 SQL Server 已针对大量 i/o 进行了配置。迁移往往会移动大量数据。将您的 SQL 日志放在一个单独的驱动器上,并将您的 tempdb 拆分为与课程核心数相等的不同文件,这会产生巨大的差异。

警告:存在已知的分离操作问题导致安全组丢失。 TFS 2015 将检测这些情况,并在您尝试附加集合时向您发出警告。正确的过程是在分离操作之前进行服务器备份,并在分离失败时恢复。

注意:虽然有一些工具可以在服务器之间同步数据,但它们往往只涵盖部分数据迁移。许多不支持工作项标签,不支持转移看板列数据、构建、更改安全设置等。所有迁移工具都有一个共同点,那就是它们会丢失更改的时间戳。所有这些工具都是在 TFS 客户端对象模型之上编写的,因此您以后可以轻松迁移其他数据的想法是不正确的。如果这么简单,这些迁移工具将覆盖更广,错误更少。

【讨论】:

  • 产品团队不建议使用分离/附加升级方法。
  • 没错。我更喜欢每天进行一次完整的服务器升级而不是附加升级。但我遇到过确实别无选择的情况。
【解决方案3】:

您应该将 2012 数据库复制到新硬件并插入任何其他数据,然后从 2012 迁移到 2015。

注意 - 我同意 ds19,您不应该将数据直接插入 SQL 数据库。您可以安全地使用TFS API 批量加载数据。

【讨论】:

猜你喜欢
  • 2017-09-30
  • 1970-01-01
  • 2013-12-21
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多