日期:2014-05-18  浏览次数:21195 次

如何查看SQL SERVER的操作历史记录
我用的 SQL 2005 我的数据库总是常常 不知道何时 被何人修改了记录, 我想知道到底是谁在什么时候 修改了我的数据库记录,有什么办法能查询到 SQL 的操作历史记录,
数据库文件不是有一个庞大的 ldf文件吗?是否这个记录所有有操作?select语句也记录在案吗? 请大师帮我想想办法 我要知道是谁在什么时候操作了数据库


------解决方案--------------------
Log Explorer 4.1 For SQL Server 2005

http://www.itpub.net/thread-1018418-1-1.html
------解决方案--------------------
打开sql server profiler
------解决方案--------------------
日志可以用log explorer
------解决方案--------------------
log explorer可以查看以前的操作.
------解决方案--------------------
sql server profiler 只能监视当前的操作,而不能查询历史的操作吧

可以保存你的监视记录啊。

还是使用log explorer
------解决方案--------------------
自己的系统中没有设置日志, 依靠sqlserver本身的日志信息来看,只能看到哪个帐户操作的,并不知道是谁操作的,没有太大意义。

你主要的工作应该是考滤安全设置,杜绝这种现象。
------解决方案--------------------
使用Log Explorer查看和恢复数据 

Log Explorer 4.1.可用于SQL Server2005的日志查看工具

下载地址:
http://download.csdn.net/source/620271

使用方法:

打开Log Explorer -> Attach Log File -> 选择SQL Server服务器和登陆方式 -> Connect -> 
在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了 

想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行 
T-sql代码就可以了 

例如 如果Log是delete table where ...的话,生成的文件代码就是insert table .... 
然后将此insert table的代码放到查询分析器里执行.就可以恢复数据.


Log Explorer使用的一个问题 

1)对数据库做了完全 差异 和日志备份 
备份时选用了删除事务日志中不活动的条目 
再用Log Explorer打试图看日志时 
提示No log recorders found that match the filter,would you like to view unfiltered data 
选择yes 就看不到刚才的记录了 


如果不选用了删除事务日志中不活动的条目 
再用Log Explorer打试图看日志时,就能看到原来的日志 

2)修改了其中一个表中的部分数据,此时用Log Explorer看日志,可以作日志恢复 

3)然后恢复备份,(注意:恢复是断开Log Explorer与数据库的连接,或连接到其他数据上, 
否则会出现数据库正在使用无法恢复) 
恢复完后,再打开Log Explorer 提示No log recorders found that match the filter,would you like to view unfiltered data 
选择yes 就看不到刚才在2中修改的日志记录,所以无法做恢复. 

------解决方案--------------------
探讨
自己的系统中没有设置日志, 依靠sqlserver本身的日志信息来看,只能看到哪个帐户操作的,并不知道是谁操作的,没有太大意义。

你主要的工作应该是考滤安全设置,杜绝这种现象。

------解决方案--------------------
xuexi
------解决方案--------------------
查看log日志!!!
Log Explorer 专业工具
------解决方案--------------------
Log Explorer