我在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在运行时从不会出现问题。是否有一种快速而肮脏的方法来解决这个问题?也许甚至可能通过关闭参照完整性检查?
答案 0 :(得分:23)
您的数据库项目缺少对master
数据库的引用。
假设您正在讨论SQL Server Data Tools (SSDT)数据库项目,可以按如下方式添加缺少的引用:
在 Solution Explorer 中,打开引用节点上的上下文菜单,然后从中选择添加数据库引用... :
在打开对话框窗口的上半部分,选择系统数据库选项,然后从下拉列表中选择master
。
最后,按确定按钮。现在应该将数据库引用添加到您的项目中。
答案 1 :(得分:12)
我添加了对master数据库的引用来解决此错误,这可以通过以下步骤来实现。
Add Database Reference...
浏览
C:\ Program Files \ Microsoft Visual Studio 9.0 \ VSTSDB \ Extensions \ SqlServer \ 2008 \ DBSchemas \ master.dbschema
点击确定