SQL Server数据工具2010中未解决的参考错误SQL71561

Jon*_*dlm 3 visual-studio-2010 sql-server-data-tools

在单个解决方案中使用SSDT 2010(最新更新,v10.3.21208.0)和多个数据库项目时出现错误.该错误读取以下内容:

SQL71561: View: [dbo].[View] has an unresolved reference to object [OtherDatabase].[dbo].[OtherTable]
Run Code Online (Sandbox Code Playgroud)

我已经阅读了Stack Overflow和Google上可以找到的所有其他资源.以下是我已经尝试过的一些事情:

  • 设置数据库引用解决方案中的其他项目.
  • 清除Database变量选项以绕过根据配置选项动态更改数据库名称的SQLCLR变量.
  • 确保在所有项目上禁用对常见对象的启用扩展Transact-SQL验证
  • 数据库位置选项设置为:不同的数据库,同一服务器
  • 确保项目建造订单按逻辑安排
  • 试过这篇文章的建议

似乎没有什么对我有用.任何帮助将非常感激.这是一个截图,可能会更清楚地解决我的问题:

图像显示我的视觉工作室窗口与错误

小智 8

已经有一段时间了,但我仍然希望与其他可能遵循我最初失去的链接的人分享这个解决方案.密切注意第4步.这清除了我的问题.

一种可能的解决方案是向具有缺失对象的数据库添加数据库引用.该引用需要一个数据层应用程序(dacpac文件),该数据层应用程序可以在具有缺少对象的数据库项目的解决方案上轻松生成.在数据库项目上按鼠标右键,然后选择Snapshot Project.dacpac文件在Snapshots文件夹上创建.然后应将该文件复制到公共文件夹以便重新使用.

在出现错误的项目中,在引用上按鼠标右键并选中Add Database Reference.在Add Database Reference出现的对话框:

  1. 选择dacpac文件
  2. 选择数据库位置.最常见的选项是"不同的数据库,同一台服务器"
  3. 确认数据库名称字段符合预期
  4. 清除对话框中的"数据库变量"字段.如果此字段具有值,则查询必须使用此变量而不是数据库名称