Saya punya prosedur tersimpan yang merujuk ke server yang ditautkan. Di beberapa tempat selama prosedur, saya memiliki sesuatu seperti berikut:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Prosedur ini ada di lingkungan Pengembangan saya, lingkungan Uji dan lingkungan Langsung.
Masalahnya adalah bahwa setiap salinan prosedur ini agak berbeda karena nama server berbeda untuk setiap lingkungan. Ini membuat mengelola penyebaran pembaruan skrip menjadi sulit.
Apakah ada cara untuk membuat prosedur ini portabel sehingga setiap lingkungan dapat menjalankan versi identiknya?
Jika tidak, adakah yang bisa saya lakukan untuk membuat penyebaran skrip kurang rentan terhadap kesalahan / kesalahan?
SELECT <fields> FROM <linked server>
tetapi menggunakan nama tampilan yang sama di semua server untuk menjaga kode tetap dipertahankan