【发布时间】:2013-07-10 15:59:32
【问题描述】:
我正在尝试将 SQL Azure 数据库的备份 (.bacpac) 还原到另一个 SQL Azure 数据库,但由于以下错误而无法执行此操作:
服务操作过程中遇到错误。无法导入 包裹。错误 SQL72014:.Net SqlClient 数据提供程序:消息 547,级别 16,状态 0,第 3 行 ALTER TABLE 语句与 FOREIGN KEY 约束“FK_x_xx”。数据库发生冲突 “x”,表“dbo.x”。错误 SQL72045:脚本执行错误。这 执行脚本:PRINT N'检查约束:FK_x_xx[dbo].[x]';改变 TABLE [dbo].[x] WITH CHECK CHECK CONSTRAINT [FK_x_xx];
我还尝试在本地恢复但没有成功,但出现 mscorlib 异常(我将再次尝试,并很快更新确切的错误消息。
我检查了实时数据库,但看不出为什么会违反此密钥。
我还尝试修改 .bacpac 中包含的 model.xml 以删除约束,但这失败了,因为它现在(正确地)未通过校验和验证。
【问题讨论】:
-
我也有一些奇怪的行为。就在上周,由于缺少聚集索引,我无法 bacpac 一个 SQL Azure 数据库。这在 SQL Azure 中甚至不应该是可能的。
-
我认为这是 SQL 数据工具的缺陷。无论我是否在导出前创建副本,我每天都会导出/导入我的数据库十几次。相同的
.bacpac可能会成功导入几次,但会失败两次,这完全是随机的。
标签: sql azure azure-sql-database bacpac