Sql server 视图中的服务器名称导致Sql Server项目中出现生成问题

Sql server 视图中的服务器名称导致Sql Server项目中出现生成问题,sql-server,visual-studio,sql-server-2012,Sql Server,Visual Studio,Sql Server 2012,我有一个SQL Server项目,在其中我有一个视图 SELECT * FROM [Tracking].[dbo].[Document_tb] 这会导致生成问题 [dbo].[TrackerDocumentTable_vw]具有对对象的未解析引用 [跟踪].[dbo].[Document_tb]。C:projects\Schema Objects\Schemas\dbo\Views\TrackerDocumentTable_vw.sql 4 SPs和TVFs中存在相同的查询,但它们不会引发任何

我有一个SQL Server项目,在其中我有一个视图

SELECT * FROM [Tracking].[dbo].[Document_tb]
这会导致生成问题

[dbo].[TrackerDocumentTable_vw]具有对对象的未解析引用 [跟踪].[dbo].[Document_tb]。C:projects\Schema Objects\Schemas\dbo\Views\TrackerDocumentTable_vw.sql 4


SPs和TVFs中存在相同的查询,但它们不会引发任何异常。我已经尝试将构建方法更改为“不在构建中”,这部分解决了我的问题,但当模式比较时,它排除了这个文件。VS在视图上而不是在SPs和TVFs中引发异常有什么具体原因吗?

这可能是由于应用于存储过程和多值表函数的延迟名称解析造成的。只要语法正确,被引用的对象不需要在创建时存在

但是,视图和其他函数类型存储元数据,例如列信息,因此需要在编译时存在引用的对象


希望这能有所帮助。

这可能是由于应用于存储过程和多值表函数的延迟名称解析。只要语法正确,被引用的对象不需要在创建时存在

但是,视图和其他函数类型存储元数据,例如列信息,因此需要在编译时存在引用的对象


希望这能有所帮助。

对sp和函数无法找到的对象的引用被视为错误视图的警告(请检查错误选项卡和警告选项卡)

为什么会这样,可能是因为在SQLServer中,我们可以创建一个我提到的过程
不存在的对象,但对于视图是不允许的。您可以在visual studio中设置它也将被视为错误。

对sp和函数找不到的对象的引用将被视为错误视图的警告(请检查“错误”选项卡和“警告”选项卡)

为什么会这样,可能是因为在SQLServer中,我们可以创建一个我提到的过程
不存在的对象,但对于视图是不允许的。您可以在visual studio中设置该视图也将被视为错误。

如果不查看该视图的源,很难判断该视图看起来是数据库引用,而不是服务器。您的解决方案中是否有
跟踪
数据库的数据库项目?我不能说为什么其他对象没有这样的引用问题,但通常必须为其他数据库添加数据库项目引用,并为引用的数据库使用关联的SQLCMD变量,而不是实际名称,如
[$(TrackingDatabaseName)].[dbo].[Document\u tb]
。我从一个客户端获得了这个数据库项目,可能是数据库项目,但我唯一关心的是,为什么它只在视图上抛出异常,而不是在SP和TVFS上,如果不看到该视图的源(看起来是数据库引用,而不是服务器),就很难判断。您的解决方案中是否有
跟踪
数据库的数据库项目?我不能说为什么其他对象没有这样的引用问题,但通常必须为其他数据库添加数据库项目引用,并为引用的数据库使用关联的SQLCMD变量,而不是实际名称,如
[$(TrackingDatabaseName)].[dbo].[Document\u tb]
。我从一个客户端获得了这个数据库项目,也许是数据库项目,但我唯一关心的是为什么它只在视图上抛出异常,而不是在SPs和TVF上