У меня есть хранимая процедура, которая ссылается на связанный сервер. В нескольких местах на протяжении всей процедуры у меня есть что-то вроде следующего:
INSERT INTO [TableName]
(...Columns...)
SELECT ...Columns...
FROM [ServerName\InstanceName].[Catalogue].[dbo].[TableName]
WHERE TableNameID = @TableNameID
Эта процедура существует в моей среде разработки, тестовой среде и среде Live.
Проблема в том, что каждая копия процедуры немного отличается, потому что имена серверов различны для каждой среды. Это делает управление развертыванием обновлений скрипта проблематичным.
Есть ли способ сделать процедуру переносимой, чтобы каждая среда могла запускать идентичные ее версии?
Если нет, могу ли я что-нибудь сделать, чтобы развертывание скриптов было менее подвержено ошибкам / ошибкам?
SELECT <fields> FROM <linked server>
но использовать одно и то же имя представления на всех серверах, чтобы сохранить код