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

时间:2010-11-17 02:53:27

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

我在Visual Studio中有一个MS DataBase项目 - 在进行模式比较后,我正在尝试生成一个部署脚本,问题是我得到了数百个未解决的引用错误,例如以下两个:

Error   385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].  D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql   4   14  greatProject.Database
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].  D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql   5   69  greatProject.Database

SPROCS在运行时从不会出现问题。是否有一种快速而肮脏的方法来解决这个问题?也许甚至可能通过关闭参照完整性检查?

2 个答案:

答案 0 :(得分:23)

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

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

  1. Solution Explorer 中,打开引用节点上的上下文菜单,然后从中选择添加数据库引用...

    Add database reference via Solution Explorer

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

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

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

答案 1 :(得分:12)

我添加了对master数据库的引用来解决此错误,这可以通过以下步骤来实现。

  1. 右键单击数据库项目下的引用
  2. 点击Add Database Reference...
  3. 单击“数据库项目架构(.dbschema)单选按钮
  4. 浏览

    C:\ Program Files \ Microsoft Visual Studio 9.0 \ VSTSDB \ Extensions \ SqlServer \ 2008 \ DBSchemas \ master.dbschema

  5. 点击确定

  6. 以下问题是相关的。 ASP.NET Schema Tables Causing Issues in VSTS