我在生产中有一个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环境,并知道如何安全地做到这一点?我知道如何进行备份/还原,但更多的是询问还原过程之后需要哪些特定的应用程序步骤。
发布于 2018-10-09 15:23:45
为了补充first所说的,如果您执行SQL还原,首先进行UAT备份,然后只需执行以下操作:
UPDATE SYSSQMSETTINGS
SET GLOBALGUID = '00000000-0000-0000-0000-000000000000'
DELETE
FROM SYSCLIENTSESSIONS
DELETE
FROM SYSSERVERSESSIONS
DELETE
FROM SYSSERVERCONFIG您还需要决定如何处理BatchJob和Batch tables...meaning,您可能希望将所有内容更新为hold状态。
还有一些特定于环境的参数(Prod vs UAT),您需要更新这些参数,例如报告服务器URL、电子邮件(SMTP)参数(如果您有任何第三方ISV连接到外部服务(prod URL vs Non))。
您可能也需要更改DB权限,因为您的SQL服务帐户可能有所不同。
这是一个非常迭代的过程。值得知道的是,如果您搞砸了,您可以重新尝试并修复参数。实际上,每次都要完全替换UAT环境,所以您可能做错的任何事情都是无关紧要的。
主要关注的是AX!的外部服务,您最不想做的事情就是让UAT系统中的用户处理不小心连接到第三方购物车上的假订单(例如,他们正在向真正的客户信用卡收费)。
或者,如果您有一个数据仓库或UAT现在指向生产的内部数据库,那就是向其中插入记录。
发布于 2018-10-09 12:17:39
这个问题对于Stack溢出来说有点宽泛,所以我将把我的回答限制在数据传输之后需要考虑的数据范围上。请注意,可能涉及许多其他步骤。虽然有点过时,但在Microsoft 2012环境之间移动应该是一个很好的起点。但是,如果你以前从来没有这样做过,我强烈建议你和那些这样做过的人一起做。
虽然它是测试版(而且可能会永远),而且已经很长一段时间没有更新了,但是看看测试数据传输工具吧。它附带了几个Exclude*.txt文件,可以让您很好地了解标准AX 2012数据库中哪些数据是微软考虑环境特定的(因此将其排除在数据传输之外)。即使您最终没有使用该工具,这些文件也提供了一个很好的起点,在备份恢复之后,应该考虑这些数据。
如果您不使用这个工具,那么SQL脚本就是最好的选择。不应使用列出的某些链接中提到的数据导出/导入功能。它不处理表之间的代理密钥关系,也可能存在容器字段的问题。
在我的经验中,数据恢复也总是非常特定于项目,并且它通常需要几次迭代,直到可以在没有问题的情况下完成。我强烈建议提供一份核对表和/或详细的过程文件。
https://stackoverflow.com/questions/52710945
复制相似问题