D365从云端UAT环境Export DB到本地开发环境

发布时间 2023-09-26 22:14:47作者: tushadongjing

1, 导出数据

参考微软的如下链接去操作,很详尽,最终得到一个”.bacpac”备份文件

Export a copy of the standard user acceptance testing (UAT) database - Finance & Operations | Dynamics 365 | Microsoft Learn

2,导入数据

尝试过用SSMS (Microsoft SQL Server Mamagement)导入,最开始是没有任何问题的,按下图操作即可,但是后来随着UAT云端环境数据增加,用SSMS导入总是出错,尝试用Windows版本的SQLPackage.exe导入也是失败,最后尝试用Windows .net 6的版本的SQLPackage.exe导入才成功,不知道为什么?!

 

下载Windows .net 6的版本的SQLPackage.exe

https://learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download?view=sql-server-ver16

 

 

 

下载后,解压,打开Command Prompt window,cd切换到sqlpackage.exe的路径 cd C:\Users\abc\Downloads

接着在CMD输入:SqlPackage.exe /a:import /sf:E:\test\uatbackup.bacpac /tsn:localhost/tdn:AxDB/p:CommandTimeout=1200 /TargetUser:"sa" /TargetPassword:"ajUHL7qucX0tsfRRWQV551JPYrAdyZozfbhBPPw598S0qo5YWSBdmXCI2xMwTa2hIXVdZxbL72PvP1sc" /TargetTrustServerCertificate:True

按回车开始执行(文件名等不能含特别的符号,括号都不可以),然后等待完成。

 

 

中间也会发生莫名奇妙的错误,可以停止IIS的AOSservice重新执行即可,怀疑可能是自动链接上数据库又导入了些什么数据导致duplicate,例如提示ClassIdTable有重复数据。具体原因留待以后慢慢总结,目前只知道这样可以成功。

3,获取账号

一般的,如果账号没有发生什么变化,还原到开发环境后即可使用了,但是若是账号不同了,则需要用如下办法更新下:

a, 找出原来开发环境的用户信息

selectfrom USERINFO where USERINFO.NETWORKALIAS like'%abc%'

 

b, 将原来信息的信息更新到新用户

update USERINFO set OBJECTID ='9457EC56-D2F9-492B-9895-DC39B1FB401D'

,USERINFO.IDENTITYPROVIDER='https://scv.windows.net/'

,USERINFO.EXTERNALID='11589FFF8C7568C7'

,NETWORKALIAS='abc@test.onmicrosoft.com'

,NETWORKDOMAIN='https://sts.windows.net/'

,SID='S-1-19-2960334046-2529457722-2992860447-3392629138-2137867047-2864208061-3273078221-3043253075-1510773007-4074565192'

where USERINFO.PARTITION= 5637834576 and ID ='abc'