В настоящее время я работаю над проектом, в котором мне нужно добавить функцию всегда зашифрованного SQL Server в несколько столбцов определенных таблиц. Но у меня возникают проблемы с этим, потому что связанная функция SQL этой таблицы не может быть обновлена с помощью обновленных зашифрованных метаданных таблицы. Это происходит из-за того, что функции SQL возвращают временные таблицы с незашифрованным столбцом, которые соответствуют зашифрованному столбцу таблицы. Один из таких примеров функции будет выглядеть так, когда столбец LastName зашифрован -
CREATE FUNCTION TestApplicantFunc
(
@Id [bigint]
)
RETURNS
@TestTable TABLE
(
LastName [nvarchar](32)
)
AS
BEGIN
INSERT INTO @TestTable(LastName)
SELECT a.LastName FROM dbo.EncryptedTable as a
WHERE a.ID = @Id
RETURN
END
GO
Теперь этот тип функций использовался в нескольких местах, которые трудно найти. Итак, могу ли я что-нибудь сделать и сохранить определения функций, так как может быть много критических изменений?