SQL SERVER2008操作日志中的二进制数据怎么转成明文?

时间:2020-12-11 00:51:49
Select allocunitname,operation,[RowLog Contents 0] as r0,[RowLog Contents 1]as r1  
                                from::fn_dblog (null, null)   
                
                                operation in('LOP_insert_ROWS')

用这个语句,可以查出所有的 插入操作记录。

其中r0 的结果都是二进制的,如下所示  0x100018000E0000002B0D00000000000000000000010000001900000000CC

请问怎么能够转成明文?

8 个解决方案

#1


select CONVERT(varchar(max),cast(@s as varbinary))

#2


Select allocunitname,operation,convert(int,[RowLog Contents 0]) as r0,convert(int,[RowLog Contents 1])as r1   
  from::fn_dblog (null, null)

#3


都不行啊。

#5


引用 4 楼 perfectaction 的回复:
比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction+Log/71415/


第一个例子不错。

但是他是取到最近的操作记录,如何可以取到完整的记录。

我不太看得明白。

#6


引用 5 楼 pockymusi 的回复:
引用 4 楼 perfectaction 的回复:

比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction+Log/71415/


第一个例子不错。……


研究这个意义不大,可行性太小,实际应用中日志总是会被截断,而且这方面微软也不会有支持。

#7


引用 6 楼 perfectaction 的回复:
引用 5 楼 pockymusi 的回复:

引用 4 楼 perfectaction 的回复:

比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction……


已经处理好了。

误更新的数据完美还原。。。

太感谢了。

#8


select convert(char(max),字段,0)

#1


select CONVERT(varchar(max),cast(@s as varbinary))

#2


Select allocunitname,operation,convert(int,[RowLog Contents 0]) as r0,convert(int,[RowLog Contents 1])as r1   
  from::fn_dblog (null, null)

#3


都不行啊。

#4


#5


引用 4 楼 perfectaction 的回复:
比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction+Log/71415/


第一个例子不错。

但是他是取到最近的操作记录,如何可以取到完整的记录。

我不太看得明白。

#6


引用 5 楼 pockymusi 的回复:
引用 4 楼 perfectaction 的回复:

比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction+Log/71415/


第一个例子不错。……


研究这个意义不大,可行性太小,实际应用中日志总是会被截断,而且这方面微软也不会有支持。

#7


引用 6 楼 perfectaction 的回复:
引用 5 楼 pockymusi 的回复:

引用 4 楼 perfectaction 的回复:

比较复杂,提供两个链接:
http://topic.csdn.net/u/20090406/21/4ce8f5c9-c51c-4dbd-a5b7-b5e0073dbd50.html
http://www.sqlservercentral.com/articles/Transaction……


已经处理好了。

误更新的数据完美还原。。。

太感谢了。

#8


select convert(char(max),字段,0)