加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 恢复delete 删除的数据

发布时间:2020-12-12 12:54:06 所属栏目:MsSql教程 来源:网络整理
导读:恢复delete 删除的数据? 一次偶然的机会我看到 恢复SQLSERVER被误删除的数据》博文? 原文地址为:http://www.cnblogs.com/lyhabc/p/3683147.html 我就很好奇的看了下,然后就是一头雾水 ,完全看不懂 。其实我并没打算把 这篇博文看懂,既然别人已经开发好了


恢复delete 删除的数据?


一次偶然的机会我看到 恢复SQLSERVER被误删除的数据》博文?

原文地址为:http://www.cnblogs.com/lyhabc/p/3683147.html


我就很好奇的看了下,然后就是一头雾水 ,完全看不懂 。其实我并没打算把

这篇博文看懂,既然别人已经开发好了 ,直接拿来用就行了。


后来我就随便测试了下 ,发现以下几个问题?


1.博文中作者说 支持 datetime类型,测试的结果发现 完全不对,得到的日期是不正确的?

2.该数据恢复方式不支持date类型 。


后来我就自己摸索着修改作者写的sp , 修复以上两个问题 。


WHEN system_type_id = 61

THEN ?CONVERT(VARCHAR(MAX),CONVERT(DATETIME,CONVERT(VARBINARY(8000),substring(CONVERT(VARBINARY(8000),REVERSE(hex_Value)),4,1)+

SUBSTRING(CONVERT(VARBINARY(8000),3,5,4))),21) --DATETIME

WHEN system_type_id = 40

THEN ? CONVERT(VARCHAR(MAX),CONVERT(DATE,hex_Value)),23)


WHEN CONVERT(INT,SUBSTRING(hex_Value,1,1)) = 61

THEN CONVERT(VARCHAR(MAX),REVERSE(SUBSTRING(hex_Value,LEN(hex_Value))))),21) --DATETIME

WHEN CONVERT(INT,1)) = 40

THEN CONVERT(VARCHAR(MAX),23) --date


这是我修改的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读