да, вы можете сохранить его в базе данных в зашифрованном виде, но если вы это сделаете, убедитесь, что у вас есть оригинальный исходный код, надежно сохраненный где-то ...
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
END
К сожалению, есть по крайней мере два способа победить этот механизм. Одним из них является запуск SQL Profiler во время выполнения хранимой процедуры; это часто может раскрыть текст самой процедуры, в зависимости от того, что делает хранимая процедура (например, если она имеет пакеты GO, динамический SQL и т. д.). Если они пропустили первоначальную установку, пользователь может удалить хранимые процедуры или удалить базу данных, запустить трассировку Profiler и попросить вас создать их заново (в этом случае они будут захватывать операторы CREATE PROCEDURE). Вы можете запретить Профилировщику раскрывать текст snoopers, встраивая sp_password в код в виде комментария:
CREATE PROCEDURE dbo.foo
WITH ENCRYPTION
AS
BEGIN
SELECT 'foo'
-- comment: sp_password
END
посмотрите Процедура создания MSDN Документация