.net里有没有办法跟踪记录代码断里执行过的SQL。
如果我有一段伪代码如下:
var a = 1; var b = 2; 开启SQL跟踪代码; InsertStudent(); //SQL操作 InsertTeacher(); //SQL操作 关闭SQL跟踪代码;
我想拿到我在上面代码跟踪里执行的SQL,有没有第三方或什么技术可以拿到。类似HOOK的功能。
InsertStudent(); //SQL操作
InsertTeacher(); //SQL操作
以上两句的源代码我可能没有或者是第三方的dll, 但都使用的ado.net
------------------------------
你可以把调用到.net的方法进行包装,然后在包装层把所有的SQL全都记录下来。
没有源码怎么办呢?
@沧海一杰: 没有源码,那就在数据库层面进行监控。https://docs.microsoft.com/en-us/sql/tools/sql-server-profiler/sql-server-profiler
@幻天芒: 问题是我想把出问题的sql写入日志文件。
@沧海一杰: 那你只能反编译dll了。
sql server profiler
两种方法:
1、跟踪到对应方法内部,操作ADO那一层的。看看执行了什么SQL语句
2、使用数据库自带的sql server profiler