我使用下面的语句查询,虽然查到了历史 SQL 记录。
SELECT st.text as sql_statement, qs.creation_time as plan_last_compiled, qs.last_execution_time as plan_last_executed, qs.execution_count as plan_executed_count, qp.query_plan FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle) st CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp order by total_elapsed_time/execution_count desc
但是由于我是参数化提交的 SQL 语句,所以只能查到类似 name=@name and phOne=@phone 类型的语句。
有没有办法查到 @name @phone 的真正的值?
1 Grapefruit 2018-12-05 21:14:38 +08:00 via Android SQL Server Profiler 跟踪下? |
2 sike03 OP @Grapefruit 想查的是没有 SQL Server Profiler 监控时产生的 SQL,所以好像不行。 |
![]() | 3 tomczhen 2018-12-05 21:34:06 +08:00 via Android 商业数据库都有审计功能的,找到使用方法开启就行了。 |
5 brotherlegend 2018-12-05 22:22:22 +08:00 via iPhone 马克我也有这个需求 |
![]() | 6 zro &nsp;2018-12-05 22:41:27 +08:00 记得是有自带工具监控查的啊。。 |
![]() | 7 tomczhen 2018-12-05 22:45:55 +08:00 via Android profiler 是有性能代价的,比较好的做法是在应用层记录日志。 CDC 可以采集到数据变更,不过不确定能否跟踪到区分用户。 |
![]() | 8 mmdsun 2018-12-06 08:56:41 +08:00 via Android Lumigent Log Explorer 好像是可以查看的 |
![]() | 9 lcode 2018-12-06 11:29:41 +08:00 binlog 看不到吗 |