LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【SQL Server】对视图中的 Select 语句加密码

admin
2025年9月10日 22:3 本文热度 145
在 SQL Server 中为了防止我们的代码被人非法剽窃,可以加一个密码。

今天讲解怎么对视图的 Select 进行加密处理。
一、加密注意事项

  1. 查询加密视图与查询普通视图操作方法没有区别。

  2. 任何拥有最高权限的人都无法查看 源代码。

  3. 如果以后要改逻辑,必须用未加密的源代码,否则只能删了重新设置。


二、语法

  1. CREATE VIEW <视图的名称>
  2. WITH ENCRYPTION----有了这个选项,可以对语句进行加密处理

  3. AS
  4. <SELECT 语句>


三、加密视图

还是用上一节的样例进行讲解,创建一个视图,显示每一位员工,每一个月的绩效明细,包括的标题有(月份,姓名,部门名称,基本工资,绩效工资,绩效分)。

  1. CREATE VIEW View_员工详细信息_加密

  2. WITH ENCRYPTION

  3. AS

  4. SELECT 月份,姓名,部门名称,基本工资,绩效工资,绩效分

  5. FROM dbo.B_员工信息 T1

  6. LEFT JOIN dbo.B_部门信息 T2

  7. ON T1.部门编号=T2.部门编号

  8. LEFT JOIN B_每月绩效分 T3

  9. ON T3.员工编号=T1.序号

  10. GO


四、查询视图

运行:<SELECT * FROM View_员工详细信息_加密>即可查询出来所有员工的信息。

五、加密后查看源码显示的样子
     5.1在SSMS里查看
(这个是加密后的视图)
(这个是正常的视图)
从两张图中能看出来,加密后看不到 CREATE(新建)、ALTER(修改)、创建或更改,从而阻止了更改视图的 Select 语句。
     5.2 系统视图sys.sql_modules查看

    1. SELECT definition AS Select语句

    2. FROM   sys.sql_modules

    3. WHERE  object_id = OBJECT_ID('dbo.View_员工详细信息_加密')

    运行后返回 NULL 值。
         5.3 系统存储过程(sp_helptext)查看
    返回<对象 'View_员工详细信息_加密' 的文本已加密。>
    加密是一把双刃剑,使用须谨慎,不要当自己需要修改逻辑的时候改不了。


    阅读原文:原文链接


    该文章在 2025/9/11 9:58:06 编辑过
    关键字查询
    相关文章
    正在查询...
    点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
    点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
    点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
    点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
    Copyright 2010-2025 ClickSun All Rights Reserved