Eu tenho um SQL Server 2008 executando um banco de dados que eu quero lançar no TFS. Portanto, usei um projeto de banco de dados do Visual Studio 2013 onde importei o banco de dados. Depois de corrigir um monte de erros, fico com apenas um erro restante:
Em uma exibição, os desenvolvedores usados OPENQUERY
para acessar um servidor vinculado. Portanto, importei um DACPAC que contém o banco de dados correto e o adicionei ao projeto Add Database Reference
usando as seguintes opções de referência.
Versão inicial do script
Aqui está uma versão mais curta da criação da vista original:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Isso levou ao seguinte erro:
Erro 136 SQL71501: Modo de exibição: [dbo]. [VwStatus] tem uma referência não resolvida para o objeto [LinkedServer].
Primeira tentativa
Então eu tentei inserir a variável de nome do servidor
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
O que leva a
Erro 176 SQL46010: Sintaxe incorreta próxima a $ (LinkedServer).
Tentativas adicionais
Eu brinquei um pouco e tentei o seguinte (com e sem ter os identificadores citados ativados):
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
Estou sempre recebendo um erro.
Não tenho idéia do que estou ignorando aqui. Você? Obrigado pelo seu tempo!
(Infelizmente não consigo adicionar a tag visual-studio-2013, usei o visual-studio)