我使用下面的语句查询,虽然查到了历史 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 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 看不到吗
|