个中一个办理办法是在加密前,把界说语句放到工具的【扩大属性】中保留,如许能办理下面的成绩。
示例:
--1、创建已加密的存储历程
USEAdventureWorks
GO
CREATEPROCtest
WITHENCRYPTION
AS
SELECTSUSER_SNAME(),
USER_NAME()
GO
--2、将上述界说内容往除,使用短语加密搭配EncryptByPassPhrase函数加密,然后在用sys.sp_addextendedproperty存储历程,指定一个扩大称号。
USEAdventureWorks
GO
DECLARE@sqlVARCHAR(MAX)
SET@sql=CREATEPROCTestWITHENCRYPTIONASSELECTsuer_sname(),user_name()GO
--4、新增到指定存储历程的扩大属性中:
EXECsys.sp_addextendedproperty@name=Ntest界说,@value=NSystem.Byte[],
@level0type=NSCHEMA,@level0name=Ndbo,@level1type=NPROCEDURE,
@level1name=Ntest
GO
EXECsys.sp_addextendedproperty@name=N代码内容,
@value=NCREATEPROCTestWITHENCRYPTIONASSELECTsuer_sname(),user_name()GO,
@level0type=NSCHEMA,@level0name=Ndbo,@level1type=NPROCEDURE,
@level1name=Ntest
GO