Saya memiliki SQL Server 2008 yang menjalankan database yang ingin saya masukkan ke TFS. Oleh karena itu saya menggunakan proyek database Visual Studio 2013 di mana saya mengimpor DB. Setelah memperbaiki banyak kesalahan, saya terjebak hanya dengan satu kesalahan yang tersisa:
Dalam satu tampilan devs digunakan OPENQUERY
untuk mengakses server yang ditautkan. Jadi saya mengimpor DACPAC yang berisi database yang tepat dan menambahkannya ke proyek dengan menggunakan Add Database Reference
opsi referensi berikut.
Versi Script Awal
Ini adalah versi yang lebih pendek dari pembuatan tampilan asli:
CREATE VIEW dbo.vwStatus
AS
SELECT StatusID, StatusName
FROM OPENQUERY(LinkedServer, 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Ini mengarah pada kesalahan berikut:
Kesalahan 136 SQL71501: Lihat: [dbo]. [VwStatus] memiliki referensi yang belum terselesaikan ke objek [LinkedServer].
Percobaan pertama
Jadi saya mencoba memasukkan variabel nama server
FROM OPENQUERY($(LinkedServer), 'SELECT * FROM [DB].[dbo].tbStatus') AS derivedtbl_1
Yang mengarah ke
Kesalahan 176 SQL46010: Sintaks salah dekat $ (LinkedServer)
Upaya Lebih Lanjut
Saya mengutak-atik sedikit dan mencoba yang berikut (dengan dan tanpa pengenal kutipan diaktifkan):
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
Saya selalu mendapatkan kesalahan.
Saya tidak tahu apa yang saya hadapi di sini. Apakah kamu? Terima kasih atas waktunya!
(Sayangnya saya tidak bisa menambahkan tag visual-studio-2013, jadi saya menggunakan visual-studio)