将数据库从 MS SQL 迁移到 MS Azure 时出现 SQL71561 错误

Getting the SQL71561 error while migrating the DB from MS SQL to MS Azure

我有一个场景,我在一个视图中调用两个不同的数据库,如下所示。

[DB_Name].[架构].[Table_Name]

视图工作正常。

目前我想将数据库迁移到我有此视图的 Azure。 Azure 不允许我在视图中指定数据库名称。是否有任何解决方法可用于解决此问题。请指教

谢谢。

我试图删除视图中的数据库名称,但结果出错。

要解决SQL71561构建错误,请遵循:

添加对其他数据库的引用,清除对话框中的“数据库变量”字段。如果不清除此字段,在进行模式比较时,SSDT 将使用数据库变量名称生成脚本,这将失败。

  1. 向项目添加数据库引用
  2. 如果另一个数据库是同一个数据库中的另一个项目 解决方案,您可以 select 它在第一个下拉列表中 “添加数据库引用”对话框。
  3. 确保“数据库名称”字段中的文本正确。
  4. 清除“数据库变量”字段。

查看“示例用法”文本并验证它是否符合预期。单击“确定”添加引用,这应该会解决 'unresolved reference' 错误。

执行此操作后,您将能够进行模式比较,但可能会出现以下错误:

错误 408 SQL00208:对象名称无效 'db.schema.table'。

**转到项目属性并取消选中“为通用对象启用扩展Transact-SQL验证”将允许项目成功构建。 **

将现有数据库转换为 SSDT 时请考虑并遵循以下步骤:

  1. 创建新的 SSDT 数据库项目

  2. 将现有数据库导入该项目,这将重新创建所有 脚本文件并更改它们的方式 organized/grouped

  3. 清理一些脚本文件,包括 post-deploy 脚本

  4. 如果是 SQLCLR 项目,确保主数据库的东西已经正确完成 (创建登录名)

    4.1 确保在 SSDT 项目的 SQLCLR 属性 页面 SQLCLR 中启用并正确配置

    4.2 将SQL CLR 的源代码复制到项目的顶层

    4.3 添加SQL CLR代码

    需要的引用
  5. 编译

  6. 发布