Я унаследовал хранимую процедуру от моего бывшего коллеги, которая использует определяемую пользователем функцию от связанного сервера.Вызывающий сервер использует SQL Server 2008, а связанный сервер использует SQL Server 2005 с совместимостью 2000.
Поскольку вызов UDF со связанного сервера недопустим, он сделал, чтобы дублировать функцию на вызывающем сервере.Функция принимает один параметр и возвращает скалярное значение типа int.Он используется в одном из столбцов выбора в хранимой процедуре:
select
columnA,
columnB,
fn_Function(columnC) as columnC_Alias
from TableD
Все это работает нормально, но проблема может возникнуть, если функция на связанном сервере обновляется кем-то, кто не знает об этом дублировании навызывающий сервер создает несоответствия между двумя версиями.
Мне известен способ создания SP на связанном сервере для инкапсуляции функции, но он здесь не совсем работает.
Есть ли лучший подход?