日期:2014-05-16  浏览次数:20573 次

SQL上的表数据被清空了,如何查到是那个客户端连接sql做的操作吗,有相应记录吗?在线等待
比如sqlserver 数据库一台服务器上,很多开发的客户端PC可以去连接这台电脑 
数据库的某个表中的数据被清空了,能查到是哪台pc做的这个操作吗?sql日志里好像没有这么详细的记录吧 
有没有什么命令能查到这些呢?请高手指教!!
------解决方案--------------------
引用:
因为连接的pc都是开发的 所以肯定有修改和删除的权限了, 再说也可以用sql命令去执行这些操作呀

Quote: 引用:

天哪,难道你们每个连到服务器的PC都能对数据库表执行update,delete,truncate或drop操作???---这样太吓人。。。

那个删掉的话一般查不出来具体的PC名,不过应该可以查出来删除的时间,然后再根据那个时间去排查吧

因为连接的pc都是开发的 所以肯定有修改和删除的权限了, 再说也可以用sql命令去执行这些操作呀
这个从技术层面做控制不容易,或者你可以强制用Windows身份验证登录,有登录名,就抓那个,不管是不是别人用他的帐号
------解决方案--------------------
引用:
Quote: 引用:

因为连接的pc都是开发的 所以肯定有修改和删除的权限了, 再说也可以用sql命令去执行这些操作呀

Quote: 引用:

天哪,难道你们每个连到服务器的PC都能对数据库表执行update,delete,truncate或drop操作???---这样太吓人。。。

那个删掉的话一般查不出来具体的PC名,不过应该可以查出来删除的时间,然后再根据那个时间去排查吧

因为连接的pc都是开发的 所以肯定有修改和删除的权限了, 再说也可以用sql命令去执行这些操作呀
这个从技术层面做控制不容易,或者你可以强制用Windows身份验证登录,有登录名,就抓那个,不管是不是别人用他的帐号

这样也行,宁可错杀一千,不可放过一人,O(∩_∩)O哈哈~。。。
其实我还是觉得测试库跟正式库分开比较好,凡是涉及到正式线上数据库操作的,全部提交由DBA处理。