在尝试使用.BACPAC实用程序还原sqlpackage文件时,我们遇到了自动过程中的错误,但是在使用“”向导通过SSMS导入同一个文件时,我们成功了。
我们所得到的错误如下:
Error SQL72014:.Net SqlClient数据提供程序:
Msg 547,第16级,状态0,第3行
ALTER语句与外键约束"FK_xx_xx“冲突。冲突发生在数据库"TEMP_xxx_5182022“、表"dbo.xxx”、列'xxx‘中。
自动过程从运行在Azure托管实例上的数据库的副本导出.BACPAC文件。然后,.BACPAC文件使用sqlpackage.exe /a:Import导入Server 2017。
如果做进一步的研究,听起来这个过程不会100%成功,因为导出的文件不能保证事务的一致性。正确的方法是只生成DB和导出的副本,这将需要我们在该服务器上进行一些TDE加密。
当使用SSMS通过导入数据层向导导入.BACPAC时,我们不会遇到该错误。
向导使用的是sqlpackage.exe实用程序还是其他东西?
是否有任何缺失的参数可以传递给/Import或/Export,允许成功导入?(即/p:DisableIndexesForDataPhase)
除了使用复制方法之外,我们还有其他选择吗?
发布于 2022-06-14 07:42:14
这里的问题是正在恢复的DB的大小。
当使用SQLPackage.exe时,必须有两个选项来指定目标DB
https://stackoverflow.com/questions/72307550
复制相似问题