为什么无法继续跟踪了???

sizheng0320 2008-01-04 07:34:26
数据库里面,用一个表A,保存事件探查器的跟踪数据。

另外一个表B,在上面加一个UPDATE触发器,用来把UPDATE的一些相关信息记录到表C中。

A和C得到一个视图,能够组合成一些较为规整的信息。

在表A上添加一个INSERT触发器,根据最新插入的数据,调用一个较为复杂的存储过程,对其它的表进行操作,包括查询、更新、删除。


但是现在我发现,在查询分析器中执行对B的UPDATE操作,会引发事件探查器的错误,就是跳出一个消息框,说“将跟踪数据保存到表失败。”

我曾怀疑是不是触发器发生了循环嵌套?但是一来想想逻辑关系没有问题,二来触发器的操作似乎是不被跟踪记录的啊。

大虾帮我想想是为什么吧~
...全文
85 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
补课 2008-01-31
  • 打赏
  • 举报
回复
关注。。。
sizheng0320 2008-01-31
  • 打赏
  • 举报
回复
回答楼上的:

A中有跟踪的一些细节信息,如执行时间什么的

C中保存了更新B的一些信息,如更新前和更新后的字段数值。

这样通过做A和C的视图,就能够知道那个更新操作是什么时间执行的、更新的数据是怎样的了。


另,根据实际观察,触发器的确不被记录
kajaje 2008-01-06
  • 打赏
  • 举报
回复
同上的疑惑,况且触发器对表的操作为什么不会被跟踪记录??
hb_gx 2008-01-06
  • 打赏
  • 举报
回复
表A 是保存事件探查器的跟踪数据

那么为什么要跟B和C扯上关系
liangCK 2008-01-06
  • 打赏
  • 举报
回复
关注.接分.
ghd2004 2008-01-06
  • 打赏
  • 举报
回复
关注
sizheng0320 2008-01-04
  • 打赏
  • 举报
回复
其实我就是想能够在对B做了UPDATE操作后,及时地取到相应的跟踪数据表中的记录。

但是我发现似乎是只有当B上的UPDATE操作以及它引起的所有触发器(包括嵌套的)都执行完之后,跟踪数据表中才有相应的记录,即使我用StmtStarting跟踪也不行


郁闷啊

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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