[SQL Server 问题排查]一同事跟我描述:
1.有一个proc里面有insert into。
2.使用sql server profiler跟踪SP:Completed事件有执行成功的记录。
3.数据表里面没有插入应有的数据。
附加她的测试:
1.手工执行proc,查数据是正常的。
2.重启sql server服务后能查到数据。
3.换台机器测试正常。
听到这里,我怀疑她给我描述的有不真实不全面的情况。
肯定:1.sql server profiler跟踪的数据是正确的。表示执行过proc。
怀疑:1.proc写的复杂,由于XXX原因没在执行insert into。
2.使用select查数据时,库是否选择正确(经常有人选错服务器选错数据库)?
3.脑海里浮过:由于并发等原因没查到?立马否定,不可能碰到吧!
其实问题很简单:抓住每个可检查的步骤。
1.程序是否调用,使用sql server profiler检查(正确)。
2.proc复杂,由某重原因未写入数据(手工执行正确,代表应该没错)。
3.确认数据是否存在的脚本或步骤。(容易出错)
4.能否复现问题,如不能代表1.环境复杂不能复现,2.可能你弄错了。
最后:她给我的回答是第三点,确认数据时选错库了!!!
总结:粗心大意!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22510005/viewspace-755002/
,如需转载,请注明出处,否则将追究法律责任。