语句后面加个WITH ENCRYPTION就好了,比如:
CREATEPROCEDUREdbo.AAA(
@AVARCHAR(60),
@BVARCHAR(200)OUTPUT)
WITHENCRYPTION
AS
BEGIN
--此处代码省略100行
END
Ⅱ 存储过程解密,sql server 2008 r2 一些存储过程被加密了,谁有解密工具
1.
sql
server
2008新功能
一、可信任的
sql
server
2008为关键任务应用程序提供了强大的安全特性、可靠性和可扩展性。
·
通过简单的数据加密、外键管理、增强审查来增强来扩展它的安全性。
·
通过改进了数据库镜像、热添加cpu简化管理并具高可靠性的应用的能力。
·
提供了一个广泛的功能集合,使你的数据平台上的所有工作负载的执行都是可扩展的和可预测的。
二、高效的
sql
server
2008降低了管理系统、.net架构和visual
studio®
team
system的时间和成本,使得开发人员可以开发强大的下一代数据库应
用程序。
·
sql
server
2008推出了陈述式管理架构(dmf)
,它是一个用于sql
server数据库引擎的新的基于策略的管理框架。
·
对sql
server的服务生命周期提供了显着的改进
,它重新设计了安装、建立和配置架构。
·
提供了集成的开发环境和更高级的数据提取。
·
在与visual
studio
的合作下,快速的创建偶尔连接系统。
·
提供了新的数据类型使得开发人员和管理员可以有效的存储和管理非结构化数据。
三、智能的
商业智能(bi)继续作为大多数公司投资的关键领域和对于公司所有层面的用户来说的一个无价的信息源。sql
server
2008提供了一个全面的平台,用于当用户需要时你可以为其提供智能化。
·
集成任何数据
·
发送相应的报表
·
使用户获得全面的洞察力
sql
server
2008基于sql
server
2005强大的olap能力,为所有用户提供了更快的查询速度。这个性能的提升使得公司可以执行具有许多维度和聚合的非常复杂的分析。
2随着sql
server
2008越来越多地进入到大家的视线中,也有越来越多的声音说sql
server
2008
(kaitmai)仅仅是sql
server
2005的一个补丁包。当初我也是这个想法,因为我们把太多的目光放到了例如geo-spatial支持、hierarchical
id、file
stream上,确实这些功能都是建立在sql
server
2005搭建的clr
-integrated平台上的,但是我们也需要看到sql
server
2008中的其他功能,例如resource
governor、declarative
management
framework、change
data
capture、reporting
service
iis
agnostic
report
deployment等等。steveb在美国launch中更将policy-base
management列在sql
server
2008
top
10新功能的首位,还有美国launch上关于activity
monitor的改进、object
search以及t-sql
debugger被用户爱称为三项surprise
features。当然还是会有人说这些都是在dmv和ddl
triggers的技术基础或技术路线上发展起来的,不过哪个产品不是从一条技术路线或某项基础性改革上发展起来的呢?
因此微软把sql
server
6.0/6.5称为第一代数据库产品,sql
server
7.0/2000称为第二代数据库,而sql
server
2005/2008称为第三代数据库产品。以此类推,那么sql
server
vnext是不是会变成第四代数据库产品呢,那又会有什么革命性的改变呢?grid?...哦,跑题了
因此我们还是应该宽容地看待sql
server
2008,还是应该升级到sql
server
2008的,升级有问题可以咨询emc
msp么.
3.完整的sql
2008企业版有2g吧
Ⅲ 如何对存储过程进行加密和解密
在PL/SQL
developer中先执行包头、然后再wrap加密包体
SQL>
create
or
replace
package
pkg_wrap_test
is
2
--测试过程,将输入的数字以字符格式输出
3
procere
test1(i
in
number);
4
END
pkg_wrap_test;
5
/
Ⅳ 求破解sql200加密存储过程的具体方法
破解SQL SERVER 加密存储过程,函数,触发器,视图
create PROCEDURE sp_decrypt(@objectName varchar(50))
AS
begin
set nocount on
--破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器
begin tran
declare @objectname1 varchar(100),@orgvarbin varbinary(8000)
declare @sql1 nvarchar(4000),@sql2 varchar(8000),@sql3 nvarchar(4000),@sql4 nvarchar(4000)
DECLARE @OrigSpText1 nvarchar(4000), @OrigSpText2 nvarchar(4000) , @OrigSpText3 nvarchar(4000), @resultsp nvarchar(4000)
declare @i int,@status int,@type varchar(10),@parentid int
declare @colid int,@n int,@q int,@j int,@k int,@encrypted int,@number int
select @type=xtype,@parentid=parent_obj from sysobjects where id=object_id(@ObjectName)
create table #temp(number int,colid int,ctext varbinary(8000),encrypted int,status int)
insert #temp SELECT number,colid,ctext,encrypted,status FROM syscomments WHERE id = object_id(@objectName)
select @number=max(number) from #temp
set @k=0
while @k<=@number
begin
if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)
begin
if @type=\'P\'
set @sql1=(case when @number>1 then \'ALTER PROCEDURE \'+ @objectName +\';\'+rtrim(@k)+\' WITH ENCRYPTION AS \'
else \'ALTER PROCEDURE \'+ @objectName+\' WITH ENCRYPTION AS \'
end)
if @type=\'TR\'
set @sql1=\'ALTER TRIGGER \'+@objectname+\' ON \'+OBJECT_NAME(@parentid)+\' WITH ENCRYPTION FOR INSERT AS PRINT 1 \'
if @type=\'FN\' or @type=\'TF\' or @type=\'IF\'
set @sql1=(case @type when \'TF\' then
\'ALTER FUNCTION \'+ @objectName+\'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end \'
when \'FN\' then
\'ALTER FUNCTION \'+ @objectName+\'(@a char(1)) returns char(1) with encryption as begin return @a end\'
when \'IF\' then
\'ALTER FUNCTION \'+ @objectName+\'(@a char(1)) returns table with encryption as return select @a as a\'
end)
if @type=\'V\'
set @sql1=\'ALTER VIEW \'+@objectname+\' WITH ENCRYPTION AS SELECT 1 as f\'
set @q=len(@sql1)
set @sql1=@sql1+REPLICATE(\'-\',4000-@q)
select @sql2=REPLICATE(\'-\',8000)
set @sql3=\'exec(@sql1\'
select @colid=max(colid) from #temp where number=@k
set @n=1
while @n<=CEILING(1.0*(@colid-1)/2) and len(@sQL3)<=3996
begin
set @sql3=@sql3+\'+@\'
set @n=@n+1
end
set @sql3=@sql3+\')\'
exec sp_executesql @sql3,N\'@Sql1 nvarchar(4000),@ varchar(8000)\',@sql1=@sql1,@=@sql2
end
set @k=@k+1
end
set @k=0
while @k<=@number
begin
if exists(select 1 from syscomments where id=object_id(@objectname) and number=@k)
begin
select @colid=max(colid) from #temp where number=@k
set @n=1
while @n<=@colid
begin
select @OrigSpText1=ctext,@encrypted=encrypted,@status=status FROM #temp WHERE colid=@n and number=@k
SET @OrigSpText3=(SELECT ctext FROM syscomments WHERE id=object_id(@objectName) and colid=@n and number=@k)
if @n=1
begin
if @type=\'P\'
SET @OrigSpText2=(case when @number>1 then \'CREATE PROCEDURE \'+ @objectName +\';\'+rtrim(@k)+\' WITH ENCRYPTION AS \'
else \'CREATE PROCEDURE \'+ @objectName +\' WITH ENCRYPTION AS \'
end)
if @type=\'FN\' or @type=\'TF\' or @type=\'IF\'--刚才有错改一下
SET @OrigSpText2=(case @type when \'TF\' then
\'CREATE FUNCTION \'+ @objectName+\'(@a char(1)) returns @b table(a varchar(10)) with encryption as begin insert @b select @a return end \'
when \'FN\' then
\'CREATE FUNCTION \'+ @objectName+\'(@a char(1)) returns char(1) with encryption as begin return @a end\'
when \'IF\' then
\'CREATE FUNCTION \'+ @objectName+\'(@a char(1)) returns table with encryption as return select @a as a\'
end)
if @type=\'TR\'
set @OrigSpText2=\'CREATE TRIGGER \'+@objectname+\' ON \'+OBJECT_NAME(@parentid)+\' WITH ENCRYPTION FOR INSERT AS PRINT 1 \'
if @type=\'V\'
set @OrigSpText2=\'CREATE VIEW \'+@objectname+\' WITH ENCRYPTION AS SELECT 1 as f\'
set @q=4000-len(@OrigSpText2)
set @OrigSpText2=@OrigSpText2+REPLICATE(\'-\',@q)
end
else
begin
SET @OrigSpText2=REPLICATE(\'-\', 4000)
end
SET @i=1
SET @resultsp = replicate(N\'A\', (datalength(@OrigSpText1) / 2))
WHILE @i<=datalength(@OrigSpText1)/2
BEGIN
SET @resultsp = stuff(@resultsp, @i, 1, NCHAR(UNICODE(substring(@OrigSpText1, @i, 1)) ^
(UNICODE(substring(@OrigSpText2, @i, 1)) ^
UNICODE(substring(@OrigSpText3, @i, 1)))))
SET @i=@i+1
END
set @orgvarbin=cast(@OrigSpText1 as varbinary(8000))
set @resultsp=(case when @encrypted=1
then @resultsp
else convert(nvarchar(4000),case when @status&2=2 then uncompress(@orgvarbin) else @orgvarbin end)
end)
print @resultsp
set @n=@n+1
end
end
set @k=@k+1
end
drop table #temp
rollback tran
end
Ⅳ 如何对存储过程,包的源代码加密
在PL/SQL developer中先执行包头、然后再wrap加密包体 SQL> create or replace package pkg_wrap_test is 2 --测试过程,将输入的数字以字符格式输出 3 procere test1(i in number); 4 END pkg_wrap_test; 5 /
Ⅵ MSSQL中遇到存储过程加密如何破解
exec 所创建的用于解密的存储过程(你找的代码) 要解密的存储过程
就ok楽
Ⅶ 在用CREATE PROC语句创建存储过程时,使用什么选项可以加密存储过程的定义文本
这样就好了:(加密时最好自己保留一份定义,不然以后就看不到了)
create proc pSP_ABC
with ENCRYPTION
as
Ⅷ SQLSERVER存储过程加密后,是不是任意版本都可以很容易解密
是的到目前为止,SQL Server所有版本的存储过程的加密的机理都是一样的,都可以被非常容易的破解,前提是,有读取存储过程的代码的权。
要防止用户得到SQL Server存储过程的真实代码,最简单的做法就是只给执行权,不给查看权。
至于安装在别人服务器上的SQL Server数据库中的存储过程,想不让别人看,那基本上是没门儿的。
Ⅸ SQL2000把存储过程加密了,怎么解开
SQL2000把存储过程加密了,怎么解开
可以导入,太大,就不要用记事本或者其它编辑器打开了,
查询分析器--连接数据库--文件--打开--.sql文件--F5执行
不过你把数据导出为SQL文件,而且200多M,真的是。
为何不压缩后,直接拷库文件,或者直接备份导出呢。