批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11
之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便
昨天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有了这个工具之后,就不怕开发人员随意加密他们自己写的函数、存储过程、触发器了
也能减轻DBA的负担
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor的更多相关文章
- 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11
参考地址: http://www.cnblogs.com/lyhabc/p/3505677.html SQLPROMPT5.3对各种加密对象的解密测试 SQL2005解密已经被加密的存储过程 昨天ah ...
- 设置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中,当不再使用时会自动删除.临时表有两种类 ...
随机推荐
- (二)Spark-Linux环境准备-Java&Python版Spark
Spark-Linux环境准备 视频教程: 1.优酷 2.YouTube 硬软件环境 1.虚拟机:VMware Workstation 12 2.虚拟机操作系统:RedHat5u4,单核,1G内存,2 ...
- 使用Nexus搭建Maven本地仓库
阅读目录 序 Nexus 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 在工作中可能存在有 ...
- 《InsideUE4》UObject(二)类型系统概述
曾子曰:吾日三省吾身--为人谋而不忠乎?与朋友交而不信乎?传不习乎? 引言 上一篇我们谈到了在游戏引擎,或者在程序和高级编程语言中,设计一个统一对象模型得到的好处,和要付出的代价,以及在UE里是怎么对 ...
- MPLS与LDP从入门到了解
多协议标签交换(MPLS)是一种用于快速转发数据包的技术,它的出现就是为了提高转发效率.因为IP转发大多靠软件进行,在转发的每一跳都要进行至少一次最长匹配查找,操作复杂导致转发速度比较慢.有些厂商借鉴 ...
- LLDB基础知识
LLDB基础知识 LLDB控制台 Xcode中内嵌了LLDB控制台,在Xcode中代码的下方,我们可以看到LLDB控制台. LLDB控制台平时会输出一些log信息.如果我们想输入命令调试,必须让程序进 ...
- linux 项目部署问题
1.ubuntu 安装 pillow 报错 缺少依赖包 pip install Pillow ValueError: zlib is required unless explicitly disabl ...
- [LeetCode] Insert Delete GetRandom O(1) - Duplicates allowed 常数时间内插入删除和获得随机数 - 允许重复
Design a data structure that supports all following operations in average O(1) time. Note: Duplicate ...
- 彻底搞懂编码 GBK 和 UTF8
常用编码格式一览 首先来看一下常用的编码有哪些,截图自Notepad++.其中ANSI在中国大陆即为GBK(以前是GB2312),最常用的是 GBK 和 UTF8无BOM 编码格式.后面三个都是有BO ...
- 记录rewrite url我之前不知道的地方
大部分url重写的需求是伪静态,当然有很多第三方开源组件,但是这种需求的核心方法其实就是context.rewritePath() 要是系统像ARR那样,用重写做代理和反向代理,一般的重写就不行了,c ...
- my computer
把08年买的电脑换了,自己买的配件装的,狂拽酷炫叼炸天. 配置清单: CPU :英特尔至强E3-1230 V2 主板 :华硕P8Z77-V LX LX2 机箱 :撒哈拉海盗贼王Z6游戏机箱(白色限量版 ...