34,588
社区成员
发帖
与我相关
我的任务
分享
这是一个最近在工作上遇到的奇怪问题。
起因是这样的,现场工人近段时间经常遇到信息丢失的情况,于是反馈到我这里。
我就是用Profiler进行跟踪,然后问题再次发生后,我就去Profiler去找到了具体的SQL语句。
就有了下面的发现:
明明Profiler已经捕捉到SQL语句了,还会执行不成功吗?具体有什么办法判断呢?
上面的问题能有上面办法排查吗?可能会有哪些原因呢?
原谅我,我有点匪夷所思!
大神们请帮我看看,谢谢了!
可能语句本身有错误。
直接在数据库上执行第二个语句看看是否有错误。
另外确认下有没有触发器或者constraint阻止数据更新
profiler的batchcompleted事件捕捉的语句是不管成没成功或者说回没回滚的。执行了它就捕捉。
低版本没有扩展事件的话,可以在profiler跟着里添加Errors and Warnings→User Error Message和Exception事件,如果出现问题时这些事件里会记录异常信息。使用前可以试着自己模拟下如何用。
schm不是更新成功了嘛,会不会程序其他地方有更新,语句漏抓了?
并发高吗,要不搞个触发器更新的时候记录一下?