错误验证元素会停止迁移或bacpac备份

时间:2019-02-26 01:30:42

标签: sql azure migrate bacpac

我在将SQL 2017数据库迁移到Azure时遇到问题。我已经从SSMS的任务菜单中使用了“将数据库部署到Microsoft Azure SQL数据库”和“导出数据层应用程序”向导,并获得了相同的结果。

我正在尝试迁移4个数据库。其中一个数据库包含表ItemMaster,其他三个数据库具有访问表的视图,因为它们都使用相同的数据。

使用这些视图访问ItemMaster的3个数据库,还有其他使用/引用ItemMaster视图的视图。

当我尝试迁移数据时,它抱怨访问ItemMaster视图的视图找不到ItemMaster视图?看起来它正在尝试迁移访问ItemMaster视图的视图,然后再迁移ItemMaster视图,并在甚至开始迁移之前就停止了迁移?

以下是实际错误:

标题:Microsoft SQL Server Management Studio

在用作数据包一部分的架构中找到一个或多个不受支持的元素。 错误SQL71501:验证元素[dbo]时出错。[INVHISTORY2]:视图:[dbo]。[INVHISTORY2]包含对对象的未解析引用。该对象不存在或引用不明确,因为它可以引用以下任何对象:[dbo]。[InvoiceHistory]。[ItemMasterR],[dbo]。[ItemMasterR]。[ITEM_NUM]或[dbo]。 [ItemMasterR]。[ItemMasterR]。

错误SQL71501:验证元素[dbo]时出错。[INVHISTORY2]:视图:[dbo]。[INVHISTORY2]包含对对象的未解析引用。对象不存在,或者引用不明确,因为它可以引用以下任何对象:[dbo]。[InvoiceHistory]。[ItemMasterO],[dbo]。[ItemMasterO]。[ITEM_NUM],[dbo]。 [ItemMasterO]。[ItemMasterO]或[dbo]。[ItemMasterR]。[ItemMasterO]。

错误SQL71501:验证元素[dbo]时出错。[INVHISTORY2]:视图:[dbo]。[INVHISTORY2]包含对对象的未解析引用。该对象不存在,或者引用不明确,因为它可以引用以下任何对象:[dbo]。[InvoiceHistory]。[ItemMasterR],[dbo]。[ItemMasterO]。[ItemMasterR],[dbo]。 [ItemMasterR]。[DESCR]或[dbo]。[ItemMasterR]。[ItemMasterR]。

错误SQL71501:验证元素[dbo]时出错。[INVHISTORY2]:视图:[dbo]。[INVHISTORY2]包含对对象的未解析引用。该对象不存在或引用不明确,因为它可以引用以下任何对象:[dbo]。[InvoiceHistory]。[ItemMasterO],[dbo]。[ItemMasterO]。[DESCR],[dbo]。 [ItemMasterO]。[ItemMasterO]或[dbo]。[ItemMasterR]。[ItemMasterO]。

1 个答案:

答案 0 :(得分:0)

这是因为Azure SQL 数据库不支持跨数据库查询。这意味着即使您在 Azure SQL Server 上拥有多个数据库,您也无法引用数据库之外的对象,而我们可以在本地 SQl 服务器实例上轻松做到这一点。

问题的最佳解决方案是将 itemMaster 表复制到您计划迁移的每个数据库中以删除任何依赖项。