请问在sql server2000中怎样读取日志文件
怎样在程序中实现 问题点数:0、回复次数:11Top
1 楼pengdali()回复于 2003-11-02 10:44:33 得分 0
Log Explorer
http://www.ttdown.com/SoftDown.asp?ID=14562
http://www.yiii.net/app/servlet/net.yiii.club.DownloadServlet?Information_Id=I00023471
解压缩密码 www.heibai.net
http://www.ttdown.com/softview_8647.htm
注册机产生的是注册码,是两个
用解压缩密码解开后,压缩包里也有一个注册机的
打开log explorer file=>attach log file->选择服务器和登陆方式->connect->
选择数据库->attach->左面对话框中browse->view log->就可以看到log记录了
想恢复的话: 右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行
T-sql代码就可以了
例如 如果log是delete table where ...的话,生成的文件代码就是insert table ....
右键log记录 undo transation->选择保存文件名和路径->然后打开该文件到查询分析器里执行T-sql代码
Top
2 楼pengdali()回复于 2003-11-02 10:45:05 得分 0
程序中实现可能不行。只可以恢复日志到时间点。Top
3 楼lynx1111(任我行:一个PLMM看着就兴奋的男人)回复于 2003-11-02 10:58:36 得分 0
对!Top
4 楼myelan(myelan)回复于 2003-11-03 16:16:25 得分 0
战火兄,我也是在照这样的办法。
呵呵
为什么Log Explorer可以,自己些程序不可以呢?
我记得在一篇论文中(数据源监视系统设计与实现)
中提到了这样的问题,作者说通过未公开的DBCC族外部命令,
可以使用户获取虚拟日志,并且给出了虚拟日志的每个字节含义
虚拟日志实际上是一个记录集(RecordSet),每条记录对应数据库的一次变化。其中,最为重要的属性是RecordData字段,它描述这次变化的全部细节。
在RecordData的前24个字节中,存放了相关的控制信息,其格式如下:
(没有贴图功能?)
每个字段功能:
名称 字节数 作用
? 2 没有说明
Len 2 RecordData字段的长度
LSN 10 日志记录标号,唯一标识每条日志记录并递增
Operation 1 变化类型,如02H表示插入新元组,031H表示删除旧元组
Context 1 有关变化元组的附加信息,比如是否为NULL
Transaction ID 6 变化所属事务的ID,可用来判断同属一个事务的其他日志记录
Hag Bits 2 对分析工作无明显意义
从第25个字节开始的内容,可称为RowData,因为它存储了相关元组变化的信息,其格式如下:
名称 字节数 作用
Status A 2 表示记录类型
Status B 1 无
定长数据长度 2 元组所有定长字段的长度总和,或者第4项定长数据的长度
定长数据 n 元组的所有定长字段的数据内容
元组列数 2 所有字段包括定长、变长字段的数目
变长列数 2 变长字段的数日
变长列偏移 2*n 各个变长字段的数据内容在Row Data中的偏移量
变长数据 n 所有变长字段的数据内容
分析流程:
①调用DBCC LOG生成虚拟日志,即变化记录集。
②调用格式转换模块,其输入是①步生成的虚拟日志,输出结果是日志分析流。格式转化方法可根据以上的虚拟日志记录结构给出。
Top
5 楼myelan(myelan)回复于 2003-11-03 16:17:31 得分 0
强烈关注此贴!!!!!!!!!!!Top
6 楼myelan(myelan)回复于 2003-11-03 16:25:05 得分 0
对了,还问一下
Log Explorer可以捕获两个时间点之间的变化数据么?
感谢Top
7 楼zjcxc(邹建)回复于 2003-11-03 16:47:43 得分 0
这么久了,也只知道用
Log Explorer
可以分析。
to: myelan(myelan)
可以公布更多的细节吗?Top
8 楼myelan(myelan)回复于 2003-11-03 18:16:17 得分 0
我就了解这么多啦
没办法
连用的函数的参数都不知道呀
55555555Top
9 楼yaoyuhang(tom)回复于 2004-01-19 11:48:48 得分 0
关注一下Top
10 楼yaoyuhang(tom)回复于 2004-01-19 11:49:41 得分 0
知道sql 中有 logread 可没有用明白Top
11 楼leimin(黄山光明顶)回复于 2004-01-19 20:07:57 得分 0
dbcc log('databasename',0)Top




