sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1608回复:11

文件系统驱动能否拦截数据库的写盘数据?

楼主#
更多 发布于:2008-11-10 17:42
那位大牛兄弟知道,文件系统驱动,能否捕获数据库写盘时的数据?比如SQL Server数据库向*.mdf、*.LDF文件写数据的时候,驱动能否获取数据?

有牛人知道么?
驱网无线,快乐无限
wwg266543
驱动小牛
驱动小牛
  • 注册日期2007-07-03
  • 最后登录2014-08-27
  • 粉丝3
  • 关注1
  • 积分3分
  • 威望882点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分54分
沙发#
发布于:2008-11-10 17:55
你是想搞个数据库备份的工具吧?
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
板凳#
发布于:2008-11-10 22:38
显然是可以的,数据库跟文件系统是不同层次的东东.它只要以文件的形式写数据就可以拦得到
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2008-11-10 22:40
不过目前在驱动中,还不容易实现基于类的全局变量.一般是声明一个指针,再new,
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-11-11 09:42
大家可以写一个简单的驱动看看,好象只能在fastio中获得错误日志的写操作,不能截获关于.*.mdf、*.LDF读写的任何信息。这是怎么一会事?有兄弟们知道么?
驱网无线,快乐无限
mz_suya
驱动小牛
驱动小牛
  • 注册日期2008-06-13
  • 最后登录2010-08-01
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望648点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分1分
5楼#
发布于:2008-11-11 12:10
"它只要以文件的形式写数据就可以拦得到"--------支持

“大家可以写一个简单的驱动看看,好象只能在fastio中获得错误日志的写操作,不能截获关于.*.mdf、*.LDF读写的任何信息。这是怎么一会事?”
具体的我不清楚 但是我想可能是你驱动加载的时候数据库已经在运行了。
你可以尝试下 开机-- 加载驱动--手动启动数据库软件--监视数据库进程--关闭数据库。按照这个顺序应该可以看到你想看的东西。
数据库文件加密属于特殊的一类文件加密而已。
现在大多数的数据库都是运行于文件系统之上的吧。(如果制造一个直接运行在物理磁盘上的数据库的话 那么文件驱动就没有办法实现监视了)
数据库的操作 我认为在应用层做可能更加简单些 因为这个可能和针对某进程的数据进行加密是一致的
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-11-11 13:33
     我的测试过程是1:安装驱动,重新启动系统;2:安装数据库,重新启动系统;3:开启数据库;4:insert某表一些数据;5:等一会,手工执行checkpoint命令;6:关闭数据库。整个过程没有扑捉到关于写.*.mdf、*.LDF文件的信息。
   呵呵,真可悲。不过其他类型的文件写入(比如写字板、Word等程序写文件),都可以捕捉到完整数据。
   所以感到很困惑。
驱网无线,快乐无限
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-11-12 13:32
大牛们,不知道么?
驱网无线,快乐无限
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
8楼#
发布于:2008-11-12 22:08
fastio的原因吧?推测的.
看你的介绍,应该是sqlserver,但是目前还没有支持裸设备的版本吧?所以,还是文件操作,你一定可以抓得到
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2008-11-13 09:55
数据库快照的稀疏文件还需要NTFS的支持,所以说裸设备不支持SQL   Server.如此分析来,可以得到一个结论就是:文件系统驱动肯定可以捕获SQL Server数据的IO动作与数据。
驱网无线,快乐无限
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-11-13 15:22
多谢兄弟们的关注,文件系统驱动可以抓获SQL Server IO数据。可能是我的开发环境出了问题,一直捉不到。换了一台计算机就好了!
驱网无线,快乐无限
sundyhyb
驱动牛犊
驱动牛犊
  • 注册日期2008-08-22
  • 最后登录2013-10-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望208点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2008-11-13 15:27
具体什么原因,我也不知道,反正换一台计算机就好了。不知道是不是与其他程序、驱动间发生了什么冲突?还是其他原因。如果知道的大牛,可以此处解释一下。让兄弟们都长长见识。
驱网无线,快乐无限
游客

返回顶部