SQL Server 2005中加密视图&&加密储存过程

如果不想让别人看到该视图或存储过程中的内容,可以使用with encryption参数来为视图或存储过程进行加密。
例如:
    (1)创建一个视图并对其进行加密

CREATE VIEW view_例五

         WITH ENCRYPTION

         AS

         SELECT top 50 产品.产品ID,产品.产品名称,类别.类别名称,供应商.公司名称

                   FROM 产品

                   JOIN 类别 ON 产品.类别ID = 类别.类别ID

                   JOIN 供应商 ON 产品.供应商ID = 供应商.供应商ID

         ORDER BY 产品.产品ID DESC


(2)创建一存储过程并对其进行加密

    --用 SET QUOTED_IDENTIFIER
    set ANSI_NULLS ON
    --我们可以使用关键字("select" "update" 等)作为对象名(表名)
    set QUOTED_IDENTIFIER ON
    go

         create proc [dbo].[GET_ID]
             @KeyName char(20),
             @IID bigint output
          with encryption
          as
             set @IID=0
             update MIS_IID set @IID = ID = ID + 1 where KeyName = @KeyName

        (3)修改视图(存储过程)加密

            Alter VIEW view_例五

         AS

         SELECT top 50 产品.产品ID,产品.产品名称,类别.类别名称,供应商.公司名称

                   FROM 产品

                   JOIN 类别 ON 产品.类别ID = 类别.类别ID

                   JOIN 供应商 ON 产品.供应商ID = 供应商.供应商ID

         ORDER BY 产品.产品ID DESC
---------------------------------------------------------------------------------
    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    go

         create proc [dbo].[GET_ID]
             @KeyName char(20),
             @IID bigint output
           as
             set @IID=0
             update MIS_IID set @IID = ID = ID + 1 where KeyName = @KeyName

posted @ 2008-07-15 08:58  Mashimaro  阅读(248)  评论(0)    收藏  举报