我用事件探察器跟踪到了多条操作记录,现在我想知道这些操作记录是怎么产生的,这个有办法吗?比如我找到一条产生临时表的create语句,能知道这条语句是哪个存储过程产生的吗?如果找不到我就没法修改这条语句阿.多谢各位了.

解决方案 »

  1.   

    存储过程产生的话跟踪记录里不是会有 exec 这样子的么?
      

  2.   

    选中RPC:ComPleted事件行,勾上 TEXTDATA 那列的对勾
      

  3.   

    eventclass显示的是batchComPleted,TEXTDATA里显示的就是一条create语句,但是这条语句肯定是由某个存储过程产生的,我靠人肉搜索在数据字典里能找到,但是这样太花时间啦,而且另一条类似的create语句,我也没能找到源头.PS:选中RPC:ComPleted事件行,勾上 TEXTDATA 那列的对勾
       这一步已经设置.  
      

  4.   


    USE 数据库名select   b.[object_id],b.[name],a.[definition] from sys.sql_modules a,
    sys.objects b where a.[object_id]=b.[object_id] and b.[type]='P'  and  a.[definition] like '%你要查的SQL语句%'--这样就可以了
      

  5.   


    运行之后搜不出来啊,这个'%你要查的SQL语句%'部分里,比如我要搜的是create语句,那我是填语句前几个字段就可以,还是把整个create语句完整的全都填入啊?