標籤:sqlserver 資料恢複
恢複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), REVERSE(hex_Value)),3,1)+
SUBSTRING(CONVERT(VARBINARY(8000), REVERSE(hex_Value)),5,4))),21) --DATETIME
WHEN system_type_id = 40
THEN CONVERT(VARCHAR(MAX), CONVERT(DATE, CONVERT(VARBINARY(8000), hex_Value)), 23)
WHEN CONVERT(INT, SUBSTRING(hex_Value, 1, 1)) = 61
THEN CONVERT(VARCHAR(MAX), CONVERT(DATETIME, CONVERT(VARBINARY(8000), REVERSE(SUBSTRING(hex_Value,3, LEN(hex_Value))))), 21) --DATETIME
WHEN CONVERT(INT, SUBSTRING(hex_Value, 1,1)) = 40
THEN CONVERT(VARCHAR(MAX), CONVERT(DATETIME, CONVERT(VARBINARY(8000), REVERSE(SUBSTRING(hex_Value,3,LEN(hex_Value))))), 23) --date
這是我修改的代碼.
本文出自 “SQLServer MySQL” 部落格,請務必保留此出處http://dwchaoyue.blog.51cto.com/2826417/1566483
SQLServer 恢複delete 刪除的資料