如何从SQL Server数据库的执行计划中获取所有DML

时间:2019-04-02 15:58:41

标签: sql-server sql-execution-plan

我的SQL Server数据库中的数据有问题。我试图解释整个上下文。

我正在从asp.net平台上将插入内容记录在表上。但是日志与数据库上的数据不匹配。我排除了日志记录方面的问题。日志放在正确的位置。

该表与另一个表具有1-N关系。

enter image description here

所以我想要的是检索该表上的所有DML。我希望所有包含特定Id的DML。

这是我正在运行的查询:

     SELECT qs.creation_time, t.[text], qp.query_plan
       FROM sys.dm_exec_cached_plans AS p
 INNER JOIN sys.dm_exec_query_stats qs WITH (NOLOCK)
         ON  qs.plan_handle = p.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
CROSS APPLY sys.dm_exec_query_plan(p.plan_handle) AS qp
      WHERE CAST(qp.query_plan AS NVARCHAR(MAX)) LIKE N'%{myId}%'

由于某种原因,我在引用表(INSERT)上只找到Table2,而在主表(Table1)上却找不到INSERT。

怎么了?

谢谢

PS:我也应用查询计划以查看sql文本中的值参数。

0 个答案:

没有答案