Sql-Server
查找引用分區視圖的插入/更新/刪除查詢
我剛剛給出了一個存在性能問題的 SQL Server。數據庫非常大,並且使用具有非常大的主集群鍵的分佈式視圖。(24 字節)。
我想將此主鍵更改為另一個(身份(1,1)),但在這種情況下,視圖將無法更新。所以我想使用這個視圖找到任何更新/插入/刪除命令。我們也有很多程序和連結伺服器,這就是為什麼我不能審查所有程序的原因。
有任何想法嗎?分析,但如何?我知道而不是觸發器,但我不想使用它們。
可以長時間從sql記憶體中查詢:
SELECT cp.objtype AS ObjectType, OBJECT_NAME(st.objectid,st.dbid) AS ObjectName, cp.usecounts AS ExecutionCount, st.TEXT AS QueryText, qp.query_plan AS QueryPlan FROM sys.dm_exec_cached_plans AS cp CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) AS qp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) AS st
您可以在 st.text 中為視圖名稱和插入/更新關鍵字添加 where 條件。您可以安排作業並將結果保存在表中,然後檢查表中是否包含針對您的視圖的更新/插入語句的行。