代码之家  ›  专栏  ›  技术社区  ›  Philip

AX 2012-恢复生产而非生产

  •  0
  • Philip  · 技术社区  · 7 年前

    我有一个AX 2012数据库在生产中,我需要通过UAT恢复。我从来没有这样做过,我想知道的步骤涉及。

    http://ajit-dynamicsax.blogspot.com/2012/08/ax-2012-database-restore-without.html

    https://dynamicsuser.net/ax/f/developers/49023/taking-a-copy-of-live-production-into-test

    http://theaxexperience.blogspot.com/2013/06/copying-production-dynamics-ax-2012-or.html

    是否有人管理AX 2012环境并知道如何安全地执行此操作?我知道如何进行备份/恢复,但我更关心的是恢复过程之后需要哪些特定于应用程序的步骤。

    2 回复  |  直到 7 年前
        1
  •  2
  •   Alex Kwitny    7 年前

    为了补充FH Inway所说的内容,如果您进行SQL恢复,请首先进行UAT备份,然后您需要做的最低限度是:

    UPDATE SYSSQMSETTINGS
    SET GLOBALGUID = '00000000-0000-0000-0000-000000000000'
    
    DELETE
    FROM SYSCLIENTSESSIONS
    
    DELETE
    FROM SYSSERVERSESSIONS
    
    DELETE
    FROM SYSSERVERCONFIG
    

    你还需要决定怎么处理 BatchJob Batch 表…意味着您可能要将所有内容更新为 hold

    然后,如果您有任何连接到外部服务的第三方isv(Prod URL vs non-Prod URL),则需要更新特定于环境的参数(Prod vs UAT),例如报表服务器URL、电子邮件(SMTP)参数。

    您可能还需要更改数据库权限,因为您的SQL服务帐户可能不同。

    这是一个非常迭代的过程。 好消息是如果你搞砸了 ,您可以重新尝试并修复参数。实际上,每次都在完全替换UAT环境,所以大多数可能出错的事情都无关紧要。

    主要关注的是AX之外的服务! 你最不想做的事就是让用户在你的UAT系统中处理虚假订单,这些订单被意外地连接到第三方购物车上(例如),并且他们正在向真正的客户信用卡收费。

        2
  •  2
  •   FH-Inway    7 年前

    Moving between Microsoft Dynamics AX 2012 environments 应该是一个很好的起点。但如果你以前从未这样做过,我强烈建议你和曾经这样做过的人一起做。

    虽然它是(而且可能永远是)在测试版,并没有更新了很长一段时间,看看 Test Data Transfer Tool . 它附带了几个 Exclude*.txt 这些文件可以让您很好地了解Microsoft认为标准AX 2012数据库中哪些数据是特定于环境的(因此将其排除在数据传输之外)。即使您最终没有使用该工具,这些文件也提供了一个很好的起点,在备份和恢复之后应该考虑哪些数据。

    如果你不使用这个工具,SQL脚本就是最好的选择。不应使用列出的某些链接中提到的数据导出/导入功能。它不处理表之间的代理键关系,容器字段也可能有问题。

    根据我的经验,数据恢复也总是非常特定于项目的,通常需要几次迭代,直到可以毫无问题地完成。我强烈推荐一份检查表和/或完整的过程文件。