Tengo un SQL Server 2008 que ejecuta una base de datos que quiero incluir en TFS. Por lo tanto, utilicé un proyecto de base de datos de Visual Studio 2013 donde importé la base de datos. Después de corregir un montón de errores, estoy atascado y solo me queda un error:
En una vista, los desarrolladores solían OPENQUERY
acceder a un servidor vinculado. Entonces importé un DACPAC que contiene la base de datos correcta y lo agregué al proyecto Add Database Reference
utilizando las siguientes opciones de referencia.
Versión de script inicial
Aquí hay una versión más corta de la creación de la vista original:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Esto condujo al siguiente error:
Error 136 SQL71501: Vista: [dbo]. [VwStatus] tiene una referencia no resuelta al objeto [LinkedServer].
Primer intento
Así que intenté insertar la variable de nombre del servidor
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Lo que lleva a
Error 176 SQL46010: sintaxis incorrecta cerca de $ (LinkedServer).
Intentos adicionales
Jugueteé un poco y probé lo siguiente (con y sin los identificadores de comillas habilitados):
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
Siempre recibo un error.
No tengo idea de lo que estoy pasando por alto aquí. ¿Vos si? ¡Gracias por tu tiempo!
(Lamentablemente no puedo agregar la etiqueta visual-studio-2013, así que usé visual-studio)