2013-03-15 42 views
1

我设法错过了一个字母,并删除了两个不同表中的大约10000多条SQL记录....
无论如何,我在过去的4个小时里一直在阅读和测试软件以恢复这些记录。总之,忘了它...
但是,我确实有详细的应用程序日志启用。
这是一个例子:
解析日志以恢复SQL插入信息

07.03 17:04:30|  |   » 0 
07.03 17:04:30|  |SQLSERVER» MyProcedure.InsertHeader:insert into mytable(myFields,...) values(0,etc) 
07.03 17:04:30|  |   #1 

我简单的问题我怎么能解析这个无需用户干预?
所以最后的结果只有:

insert into mytable(myFields,...) values(0,etc) 

我有1个月份录得这个样的日志收回的,再说插入信息,有太多其他线路与diferent信息。
我不在乎它是在Linux还是在Windows中,awk,sed等任何东西都会很棒,而且是非常好的帮助。

回答

2

从当前的例子,这条线的工作原理:

grep -io "insert into .*" file 

从你的输入(例如),在SQL中,要提取,开始与“插入”。它是独一无二的。所以它很容易找到和提取。如果它不适用于您的真实数据,请粘贴更多示例作为输入。

+0

啊....有时候,简单的答案真的是最好的!我已经在研究一个小工具。谢谢 – 2013-03-15 02:02:12