我有一个SQL Server 2008,运行一个我想放入TFS的数据库。因此,我在导入数据库的地方使用了Visual Studio 2013数据库项目。修复了一堆错误之后,我只剩下一个错误:
在一个视图中,开发人员用来OPENQUERY
访问链接服务器。因此,我导入了包含正确数据库的DACPAC,并Add Database Reference
使用以下参考选项将其添加到项目中。
初始脚本版本
这是原始视图创建的简短版本:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
这导致以下错误:
错误136 SQL71501:视图:[dbo]。[vwStatus]具有对对象[LinkedServer]的未解析的引用。
第一次尝试
所以我试图插入服务器名称变量
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
这导致
错误176 SQL46010:$(LinkedServer)附近的语法不正确。
进一步尝试
我摆弄了arround并尝试了以下操作(启用和不启用引用标识符):
FROM OPENQUERY("$(LinkedServer)", 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY([$(LinkedServer)], 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY([LinkedServer], 'SELECT * FROM [DB].[dbo].tbStatus') AS
FROM OPENQUERY("LinkedServer", 'SELECT * FROM [DB].[dbo].tbStatus') AS
我总是遇到错误。
我不知道我在这里俯瞰什么。你做?谢谢你的时间!
(很遗憾,我无法添加visual-studio-2013标签,因此我使用了visual-studio)