比如一个软件,涉及到的表很多,我删除了一个用户,我怎么知道我删了这个用户之后,影响了哪些表?
比如:用户表  权限表 等等。

解决方案 »

  1.   

    如果仅仅要知道,方法很多,但是如果想作为一个功能来直接调用,那就有点困难。单纯知道影响多少个表,可以使用profiler来监控做了什么动作,也可以用sp_depends来查看某个表或者存储过程引用了多少个对象。
      

  2.   

    能说详细点吗?如何用sp_depends来查看
    另外不要在实际环境中用sqlserver事件跟踪器,不然你会后悔,如果不信,你可以试下!
      

  3.   

    这句:另外不要在实际环境中用sqlserver事件跟踪器,不然你会后悔,如果不信,你可以试下! 
    因为事件探测器是读操作非常高的一个软件,一开启并且长期启用,你的服务器会卡的块死了。sp_depends这个你可以看看联机丛书啊
      

  4.   

    另外不要在实际环境中用sqlserver事件跟踪器,不然你会后悔呵呵 这个还是可以有的,但是前提是要做好FILTER,不要选太多的EVENT,还不要开的太久。当然最好是SERVER SIDE TRACE。
      

  5.   

    删除有可能调用了触发器存储过程等,或者有级联删除,这写sqlprofile是跟踪不到的, 还是用日志分析工具吧, 比较删除前后的数据变化