首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入数据-分层应用程序与sqlpackage.exe

导入数据-分层应用程序与sqlpackage.exe
EN

Stack Overflow用户
提问于 2022-05-19 15:49:35
回答 1查看 252关注 0票数 0

在尝试使用.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)

除了使用复制方法之外,我们还有其他选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-14 07:42:14

这里的问题是正在恢复的DB的大小。

当使用SQLPackage.exe时,必须有两个选项来指定目标DB

  1. ,无需预先创建Target。在此场景中,将在运行时为您创建目标DB,但它的上限为32 GB。如果创建BACPAC的源DB (而不是BACPAC文件大小)大于32 GB,则还原将失败或退出prematurely.
  2. Other,更好的方法是预先创建一个空DB并将其指定为目标DB。这将绕过限制问题。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72307550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档