我使用下面的语句查询,虽然查到了历史 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 的真正的值?
|      1Grapefruit      2018-12-05 21:14:38 +08:00 via Android SQL Server Profiler 跟踪下? | 
|      2sike03 OP @Grapefruit 想查的是没有 SQL Server Profiler 监控时产生的 SQL,所以好像不行。 | 
|  |      3tomczhen      2018-12-05 21:34:06 +08:00 via Android 商业数据库都有审计功能的,找到使用方法开启就行了。 | 
|      5brotherlegend      2018-12-05 22:22:22 +08:00 via iPhone 马克我也有这个需求 | 
|  |      6zro      2018-12-05 22:41:27 +08:00 记得是有自带工具监控查的啊。。 | 
|  |      7tomczhen      2018-12-05 22:45:55 +08:00 via Android profiler 是有性能代价的,比较好的做法是在应用层记录日志。 CDC 可以采集到数据变更,不过不确定能否跟踪到区分用户。 | 
|  |      8mmdsun      2018-12-06 08:56:41 +08:00 via Android Lumigent Log Explorer 好像是可以查看的 | 
|  |      9lcode      2018-12-06 11:29:41 +08:00 binlog 看不到吗 |