求准:监控SQL2008R2数据库增删改并记录IP用户名的方案

cailee 2015-09-14 01:52:15
大家好,
目前公司的数据库服务器SQL2008R2,需要实现这么一个功能:
有日志能查询谁(用户名),什么时间,操作了什么数据库,什么表,操作者的IP,执行的什么语句。

参考了备份资料,启用数据库的审核。但是没办法查询到操作者的IP,只能记录session_id.

请问大家有什么好的办法吗?非常感谢。
...全文
253 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cailee 2015-09-23
  • 打赏
  • 举报
回复
非常感谢大家,看来还是无法实现.
  • 打赏
  • 举报
回复
另外,sql server 数据库从2008R2开始,就有数据库审核的功能,能记录下整个数据库所有的 操作,但是不能记录 IP地址这样的信息。
  • 打赏
  • 举报
回复
还有 数据库结构的变化: 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1) http://blog.csdn.net/sqlserverdiscovery/article/details/14447321
  • 打赏
  • 举报
回复
楼主可以看看这个; 监控SQL:通过SQL Server的DML触发器来监控哪些IP对表的数据进行了修改(2) http://blog.csdn.net/sqlserverdiscovery/article/details/17020035
cailee 2015-09-14
  • 打赏
  • 举报
回复
谢谢1、2、3楼的指点。 其实刚开始我也这么想,在前台来记录,但是前台没有这个功能,厂家又不愿意新增这个功能,无奈,只好来打数据库的主意。 谢谢4楼的版主,我看看SQL Profile工具怎么保存。
唐诗三百首 2015-09-14
  • 打赏
  • 举报
回复
可以用SQL Profiler工具跟踪, 并将跟踪结果记录到数据库中的表.
Tiger_Zhao 2015-09-14
  • 打赏
  • 举报
回复
业务日志,要用程序来进行记录。
因为程序上点个按钮就是一次很明确的操作,而在数据库上可能有一批数据被修改。
所以记一条业务日志比记一批数据日志要清晰的多。
exception92 2015-09-14
  • 打赏
  • 举报
回复
什么时间,操作了什么数据库,什么表,操作者的IP 但是没办法查询到操作者的IP,只能记录session_id. -》 数据库才不管 什么Ip的,它只管执行 接受的 操作命令。要想记录详细,个人觉得 还是从程序入手,自定义日志类,当然 里边要记录的东西 完全可以自己定义,定义的类 供程序调用。程序中的各个方法 不可能是都要记录的,对于比较重要的操作记录就可以。
  • 打赏
  • 举报
回复
用数据库是无法实现的,我是用程序来在重要操作的时候,先将操作前的记录导入记录表,包含了当前登录用户的用户名,获取到的电脑mac地址,在用的IP。但是我只是用程序监测几张表,如果要实现所有的插入删除操作,就不清楚了。2008貌似没这样的功能

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧