How to Encrypt Stored procedures in Sql Server

At times, it is needed that you encrypt the text of stored procedures containing sensitive information. SQL Server provides the WITH ENCRYPTION to encrypt the text of the stored procedure.

CREATE procedure [dbo].[TestProc]
WITH ENCRYPTION
AS
BEGIN
SELECT 'TEST' as TestColumn
END

Once the stored procedure has been created WITH ENCRYPTION, attempts to view the stored procedure returns a message specifying that the text is encrypted:

EXEC sp_helptext TestProc

'The text for object 'Ten Most Expensive Products Encyrpt' is encrypted.'

One note of caution. Save the original text of the stored procedure before encrypting it, as there is no straightforward way to decode the encrypted text. One hack is to attach a debugger to the server process and retrieve the decrypted procedure from memory at runtime.

1 comment:

Michael Roberts said...

Is there any way to create this encypted stored procedure from a encrypted sql script?

Example

I need to send scripts for someone to run to create the encrypted stored procedures and I do not want them to see orginal text?