J'ai une procédure stockée qui fait référence à un serveur lié. À plusieurs endroits de la procédure, j'ai quelque chose comme ceci:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Cette procédure existe dans mon environnement de développement, mon environnement de test et mon environnement en direct.
Le problème est que chaque copie de la procédure est subtilement différente car les noms de serveur sont différents pour chaque environnement. Cela rend la gestion du déploiement des mises à jour de script difficile.
Existe-t-il un moyen de rendre la procédure portable afin que chaque environnement puisse en exécuter des versions identiques?
Sinon, puis-je faire quelque chose pour rendre le déploiement de scripts moins sujet aux erreurs / erreurs?
SELECT <fields> FROM <linked server>
mais utiliser le même nom de vue sur tous les serveurs pour maintenir le code à jour