2024年3月14日发(作者:)

sql2000-sql2021存储过程及触发器解密

说在前面

1 资料来源于网上 2 备份你的数据库 3 如果有问题,请问度娘

一 sql2000存储过程、触发器解密:

1 运行“sql2000存储过程解密.txt” 2 调用实例

exec sp_decrypt 'pbeforepdayresultnfla'

二sql2021-sql2021存储过程、触发器解密:

说明:

SQLServer2021里使用with encryption选项创建的存储过程仍然和

sqlserver2000里一样,都是使用XOR进行了的加密。和2000不一样的是,在2021

的系统表syscomments里已经查不到加密过的密文了。要查密文必须使用DAC(专用

管理员连接)连接到数据库后,在系统表values查询,该表的列imageval存

储了相应的密文 详细步骤如下:

1 在服务器上右键――方面――外围应用配置器,将“remotedacenable”变为true,

如下图位置 图一:

图二:

上面这一步可用下面的脚本代替:

use master

exec sp_configure 'remote admin connections',0 go

RECONFIGURE go

另外:

Adhocremotequeriesenabled:这个选项是启用分存式查询,这样我们就可以用脚

本读取excel和txt里的数据,如下是两个读取excel和txt的简单例子 Exel: /*

select distinct工号,姓名,dept_id,0,'正式员工' from

OpenDataSource( '.4.0', 'Data Source=''C:Documents and

SettingsJianglai桌面刷卡数据导入.Xls'';User ID=Admin;Password=;

Extended properties=''Excel 8.0;IMEX=1''')...sheet1$,deptcode where 部门

=t */ Txt: /*

if object_id('tempdb..#k07temp')>0 drop table #k07temp create table

#k07temp (

kcardate varchar(50))

declare @a varchar(100), @b varchar(100) set @a= :文件名

select @a=replace(@a,'''','')

exec('bulk insert #k07temp from '+'''E:舒特脚本读卡系统

DownBak'+@a+'''') */

Xpcmdshellenabled:这个选项是允许在查询分析器里使cmd命令,如下是一个简

单的例子 看数据库所有机器名 /*

p_cmdshell 'ping -a localhost'

*/

2 配置工具――SQL SEVER配置管理器――SQL SEVE网络配置――SQL SERVER网络协

议―Named Pipdes,启用

3用有sysadmin角色(比如sa)的用户登陆SQL Server Management Studio(第

一步如果已经做了就不用这一步了),在对应的数据库下运行“sql2021-sql2021存储过

程解密”脚本

4 文件――新建――数据库引擎查询――服务器名器里输入“admin:服务器名实例名”――

选项,数据选择你要解密的存储过程所在的数据库,然后输入sa密码,点连接,如下图

图一:

图二:

图三:

5 调用格式如下

exec __windbi$decrypt 'tg_k19',0

exec __windbi$decrypt 'Result',0

感谢您的阅读,祝您生活愉快。