批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11
参考地址: http://www.cnblogs.com/lyhabc/p/3505677.html
昨天ahdung 童鞋介绍了这个工具给我,非常感谢他
dbForge SQL Decryptor这个工具的软件公司是devart,也是跟redgate公司一样,制作各种数据库辅助工具和编程工具的一家比较出名的软件公司
软件下载地址:
http://www.devart.com/dbforge/sql/sqldecryptor/download.html
http://files.cnblogs.com/lyhabc/sqldecryptor.rar
这个工具是免费的,不用破解,安装完毕,立刻可以用
在SQLSERVER数据库工具当中还提供了另外一个免费工具:dbForge SQL Azure Backup
http://www.devart.com/dbforge/sql/
介绍
先说题外话:大家可以把这些第三方的工具放到外部工具里,这样只要打开SSMS,就不用在桌面找这些工具的图标再打开
相应工具了,速度可以快一倍,我就是这样做的,打开了SSMS就不用到桌面找这个软件,找那个软件
界面使用WPF编写,还是挺好的
登录界面做得挺有意思,可以使用传统的连接方式,也可以使用DAC连接或者自己写连接字符串
我们按照这篇文章创建好各种加密对象:SQLPROMPT5.3对各种加密对象的解密测试
包括视图,存储过程,函数,触发器
功能比较简单,界面跟SSMS差不多
就三个功能
选中你的数据库,然后右键-》Decryption Wizard..
他会列出你所选择要显示的解密对象类型,分别有:存储过程、用户定义函数、视图、表触发器、数据库触发器
你可以将解密的各种对象的脚本保存到同一个脚本中或者每个对象一个脚本,我这里选择都保存在同一个脚本中
点击Execute之后,在桌面就会生成一个脚本.sql文件
把脚本拖到SSMS

1 USE pratice
2 GO
3
4 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
5 GO
6 /***************创建加密的存储过程*******************/
7 Create Procedure CPP_test_Encryption
8 with encryption
9 AS
10 ----可以换成任意的逻辑
11 execute CPP_test_Original
12 GO
13
14 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
15 GO
16 CREATE FUNCTION [dbo].f_get_page(@page_num BINARY(6))
17 RETURNS VARCHAR(11)
18 WITH ENCRYPTION
19 AS
20 BEGIN
21 RETURN(CONVERT(VARCHAR(2),(CONVERT(INT,SUBSTRING(@page_num,6,1))*POWER(2,8))+
22 (CONVERT(INT,SUBSTRING(@page_num,5,1))))+':'+
23 CONVERT(VARCHAR(11),
24 (CONVERT(INT,SUBSTRING(@page_num,4,1))*POWER(2,24))+
25 (CONVERT(INT,SUBSTRING(@page_num,3,1))*POWER(2,16))+
26 (CONVERT(INT,SUBSTRING(@page_num,2,1))*POWER(2,8))+
27 (CONVERT(INT,SUBSTRING(@page_num,1,1)))))
28 END
29 GO
30
31 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
32 GO
33 CREATE VIEW aa
34 WITH ENCRYPTION
35 AS
36 SELECT * FROM [dbo].[Users]
37 GO
38
39 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
40 GO
41 CREATE TRIGGER cc
42 ON [dbo].[Users]
43 WITH ENCRYPTION
44 FOR INSERT
45 AS RAISERROR(500001,16,10)
46 GO
47
48 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
49 GO
50 Create Procedure creat_test_Encryption
51 with encryption
52 AS
53 SELECT TOP 100 * FROM [dbo].[test13]
54
55 GO

而Decrypt in-place(alter objects)就是把各种对象中的with encryption去掉,不知道f_get_page这个函数会失败
执行Decrypt in-place(alter objects)前

1 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
2 GO
3 ALTER Procedure creat_test_Encryption
4 with encryption
5 AS
6 SELECT TOP 100 * FROM [dbo].[test13]
7 GO

执行执行Decrypt in-place(alter objects)后

1 SET ANSI_NULLS, QUOTED_IDENTIFIER ON
2 GO
3 ALTER Procedure creat_test_Encryption
4 AS
5 SELECT TOP 100 * FROM [dbo].[test13]
6 GO

你会看到执行Decrypt in-place(alter objects)后,相当于去掉了with encryption
除了那个用户定义函数之后其他的解密出来了,其实你可以drop掉那个函数,然后用解密出来的脚本重新创建函数就可以了
视图,触发器都没有锁小图标了
其他功能
Show DDL script就是把对象的创建脚本显示出来,而Decrypt in-place我就不说了
注意,下面的界面是在dbForge SQL Decryptor工具中的界面,不是在SSMS中的界面,虽然这个工具的界面跟SQL2012 的SSMS界面很像
总结
DBA有了这个工具之后,就不怕开发人员随意加密他们自己写的函数、存储过程、触发器了.
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11的更多相关文章
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPRO ...
- 设置SQLServer数据库中某些表为只读的多种方法
原文:设置SQLServer数据库中某些表为只读的多种方法 翻译自:http://www.mssqltips.com/sqlservertip/2711/different-ways-to-make- ...
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因
SQLServer数据库中开启CDC导致事务日志空间被占满的原因 转载 2017-04-01 投稿:mrr 我要评论 这篇文章主要介绍了SQLServer数据库中开启CDC导致事务日志空间 ...
- jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上 1.JavaBean的使用 package com.zheng; public class BookBean { ...
- PowerDesigner从SqlServer数据库中导入实体模型
PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文 http://blog.csdn.net/sxycxwb/art ...
- 获取sqlserver数据库中所有库、表、字段名的方法
获取sqlserver数据库中所有库.表.字段名的方法 2009年03月12日 星期四 下午 12:51 1.获取所有数据库名: SELECT Name FROM Master..SysDatabas ...
- Oracle数据库中的重要对象
数据库中的重要对象:表.视图.序列.函数.存储过程.索引.同义词1.表:用PL/SQL Developer 软件打开 Scott的DEPT表查看SQL,可以看见DEPT表创建的脚本-- Create ...
- 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...
- Sqlserver数据库中的临时表详解
临时表在Sqlserver数据库中,是非常重要的,下面就详细介绍SQL数据库中临时表的特点及其使用,仅供参考. 临时表与永久表相似,但临时表存储在tempdb中,当不再使用时会自动删除.临时表有两种类 ...
随机推荐
- JDK JVM
- C++Primer STL算法
//1.概览: // A:beg和end是表示元素范围的迭代器. // B:beg2是表示第二个输入序列开始位置的迭代器.end2表示第二个序列的末尾位置,若没有end2,则假定beg2表示的序列至少 ...
- PostgreSQL数据导出导入COPY
[postgres@DELL-R720 bin]$ ./psql -p 6432psql (9.4.5)Type "help" for help. postgres=# postg ...
- Topcoder SRM 598 div2
e,不知道为啥进不去了,这个B题贪心,从最小和最大的匹配如果超过了就只去最大的! 然后就没了- -! 这场比赛时不知为啥,string出问题了,可能是编译器挂了!0蛋- -!
- MFC主窗口架构模型
根据主窗口类型,MFC软件工程可以分为一下几种架构模型: 1.SDI(Simple Document Interface)单文档界面,一个主窗口下只编辑一份文档 2.MDI(Multiple Docu ...
- java-JDBC-Oracle数据库连接
java-JDBC连接oracle数据库,StateMent和PreparedStatement对比(查询query) 1. PreparedStatement接口继承Statement, Prepa ...
- 求树的重心(POJ1655)
题意:给出一颗n(n<=2000)个结点的树,删除其中的一个结点,会形成一棵树,或者多棵树,定义删除任意一个结点的平衡度为最大的那棵树的结点个数,问删除哪个结点后,可以让平衡度最小,即求树的重心 ...
- Java线程总结
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: class 类名 extends Thread ...
- JSon_零基础_004_将Set集合对象转换为JSon格式的对象字符串,返回给界面
将Set集合对象转换为JSon格式的对象字符串,返回给界面 需要导入的jar包: 编写:servlet: package com.west.webcourse.servlet; import java ...
- 查看在线EBS用户的相关信息
--查看在线EBS用户的相关信息 SELECT PAP.FULL_NAME, FU.USER_NAME, FAT.APPLICATION_NAME, FRT.RESPONSIBILITY_NAME, ...