SQL Server 2008存储过程的加密

存储过程加密

   使用理由如下:

1、使用存储过程,至少在防非法注入(inject)方面提供更好的保护。至少,存储过程在执行前,首先会执行预编译,(如果由于非法参数的原因)编译出错则不会执行,这在某种程度上提供一层天然的屏障。

2、使用存储过程而不是直接访问基表,可以提供更好的安全性。你可以在行级或列级控制数据如何被修改。相对于表的访问,你可以确认有执行权限许可的用户执行相应的存储过程。这也是访问数据服务器的惟一调用途径。因此,任何偷窥者将无法看到你的SELECT语句。换句话说,每个应用只能拥有相应的存储过程来访问基表,而不是“SLEECT *”。

存储过程的加密非常简单,我们看一个例子:

/*********使用数据库*****************/
use mi
go

/***************创建未加密的存储过程*******************/
Create Procedure CPP_test_Original
AS
select * from UserInfo
go
/***************创建加密的存储过程*******************/
Create Procedure CPP_test_Encryption
with encryption
AS
----可以换成任意的逻辑
execute CPP_test_Original
go

  

创建成功后:

并且这个存储过程打不开,这就是加密了

未加密的存储过程:

加密的存储过程:

时间: 2024-11-05 11:32:24

SQL Server 2008存储过程的加密的相关文章

SQL Server 2008 存储过程示例

出处:http://www.jb51.net/article/54730.htm --有输入参数的存储过程-- create proc GetComment (@commentid int) as select * from Comment where [email protected] 调用方式:exec GetComment 3   --有输入与输出参数的存储过程-- create proc GetCommentCount @newsid int, @count int output as

sql server 2008存储过程参数

--使用存储过程参数 --包括输入参数和输出参数,以及参数的默认值 --指定参数名称和数据类型 --输入参数允许用户将数据值传递到存储过程或者函数 --输出参数允许存储过程将数据值或者游标变量传递给用户 --存储过程的参数在创建时应该在create procedure 和as关键值之间定义,每个参数都有指定参数名和数据类型,参数名必须以 [email protected]开头为前缀,各个参数定义之间用逗号隔开 [email protected]_name data_type[=default][

SQL SERVER 2008 存储过程传表参数

? 最近项目使用到了存储过程传入表类型参数. --定义表类型 create type t_table_type as table ( id int, name varchar(32), sex varchar(2) ) ? go --创建存储过程 CREATE PROC u_test (@t t_table_type readonly) as begin ???? select * from @t ???? end ? --调用存储过程 declare @t t_table_type ? ins

SQL Server 2008数据库视频教程

SQL Server 2008数据库视频教程 SQL Server 一直以来都是大型数据库的代表,一直以来以其查询速度快,性能稳定而闻名.本套教程,由李天生老师亲自授课录制,从最基础的知识讲起,让每一个想学习SQL Server的学员,都可以轻松学会大型数据库管理. 本站最新推出SQL Server 2016视频教程,大家可以看一下http://www.xin3721.com/eschool/sql2016xin3721/ SQL Sever 2008下载地址 第一章 SQL Server基础

SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输

SQL Server 2008, 2008 R2, 2012 and 2014 完全支持TLS1.2加密传输 微软高兴地宣布所有主流SQL Server客户端驱动和SQL Server发行版已经支持Transport Layer Security 1.2简称TLS 1.2. 发布时间是 2016年1月29日,这次发布提供了SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 and SQL Server 2014对TLS1.2的完全支持. 支持

SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息

原文:SQL Server 2008空间数据应用系列十:使用存储过程生成GeoRSS聚合空间信息 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测. 2.具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验. 3.熟悉或了解Microsoft SQL Server 2008中的空间数据类型. 4.具备相应(比如OGC规范.KML规范)的GIS专业理论知识. 5.其他相

SQL Server 2008 R2——T-SQL 存储过程 返回表

未完成,感觉有点问题. ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完整性. 未经作者同意请勿修改(包括本声明),保留法律追究的权利. 未经作者同意请勿用于出版.印刷或学术引用. 本文不定期修正完善,为保证内容正确,建议移步原文处阅读. 本文链接:http://www.cnblogs.com/wlsandwho/p/4374367.html =

如何在SQL Server 2008下轻松调试T-SQL语句和存储过程

一.回顾早期的SQL SERVER版本:早在SQL Server 2000时代,查询分析器的功能还很简陋,远不如VS那么强大.到SQL Server 2005时代,代码高亮.SQL优化等功能逐渐加强,但是依然无法调试SQL语句.好一点的第三方的SQL语法编辑器似乎也不够完美,这样导致一些人抱怨存储过程不便于维护,开发的时候能不用则不用.二.SQL Server 2008 Express 智能提示加强:该功能是SQL2008在SQL Server 2005之后的升级版,我们可以很方便的调用智能提示

SQL Server 2008 分页存储过程

在用的,已经不知道出处了,如果有侵权请告诉我,我立刻删掉. USE [ActivaOnlineSupport] GO /****** Object: StoredProcedure [dbo].[PROCE_PAGECHANGE] Script Date: 08/13/2014 13:45:17 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[PROCE_PAGECHANGE] ( @