sql-server - Microsoft Visual Studio SQL 数据库项目中未解析的引用

标签 sql-server visual-studio database-project gdr

我在 Visual Studio 中有一个 MS 数据库项目。

进行架构比较后,我尝试生成部署脚本。

问题是我收到数百个 Unresolved 引用错误,例如以下两个:

Error   385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved
reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].

Error   387 TSD03006: View: [auditing].[AuditedEntities] contains an unresolved
reference to an object. Either the object does not exist or the reference is
ambiguous because it could refer to any of the following objects:
[INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[C]::[CONSTRAINT_NAME],
[INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[CONSTRAINT_NAME]
or [INFORMATION_SCHEMA].[TABLE_CONSTRAINTS].[C]::[CONSTRAINT_NAME].

存储过程在运行时永远不会出现问题。

有没有一种快速而肮脏的方法来解决这个问题?

也许甚至可以关闭引用完整性检查?

最佳答案

您的数据库项目缺少对 master 数据库的引用。

假设您正在谈论 SQL Server Data Tools (SSDT)数据库项目,您可以添加缺少的引用,如下所示:

  1. 解决方案资源管理器中,打开引用节点上的上下文菜单,然后从中选择添加数据库引用...: p>

    Add database reference via Solution Explorer

  2. 在打开的对话框窗口的上部,选择系统数据库选项,然后从下拉列表中选择master

    Select the System database <code>master</code>

  3. 最后,按确定按钮。现在应该将数据库引用添加到您的项目中。

关于sql-server - Microsoft Visual Studio SQL 数据库项目中未解析的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201051/

相关文章:

.net - 存储过程,在返回给客户端之前将结果存储在另一个表中

visual-studio - Visual Studio数据库项目中 "Build", "Compile"和 "None"Build操作之间的区别

sql - "Grant Connect on Endpoint as [sa]"有什么作用?

c# - 数据库项目部署流程

sql-server - 从现有架构生成表关系图 (SQL Server)

mysql - 数据库表设计问题

sql-server - 如何选择数据库中具有特定名称的所有表

visual-studio - 有没有一个工具可以自动将make文件转换为sln/vcproj?

c - Visual Studio 2010 中的 SOIL 设置

c++ - 使用 VS_DEBUGGER_ENVIRONMENT 设置的 PATH 环境调试 CMake Visual Studio 项目