Eu tenho um procedimento armazenado que se refere a um servidor vinculado. Em vários lugares ao longo do procedimento, tenho algo parecido com o seguinte:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Este procedimento existe no meu ambiente de desenvolvimento, ambiente de teste e ambiente ao vivo.
O problema é que cada cópia do procedimento é sutilmente diferente porque os nomes dos servidores são diferentes para cada ambiente. Isso torna o gerenciamento da implantação de atualizações de script problemático.
Existe uma maneira de tornar o procedimento portátil para que cada ambiente possa executar versões idênticas?
Caso contrário, há algo que eu possa fazer para tornar a implantação de scripts menos propensa a erros / erros?
SELECT <fields> FROM <linked server>
, mas usar o mesmo nome vista em todos os servidores para manter o código mantido