Sql-Server

查找引用分區視圖的插入/更新/刪除查詢

  • January 15, 2016

我剛剛給出了一個存在性能問題的 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 條件。您可以安排作業並將結果保存在表中,然後檢查表中是否包含針對您的視圖的更新/插入語句的行。

引用自:https://dba.stackexchange.com/questions/126205