2016-12-20 49 views
0

我有一張需要某些模式更改的表,這些更改肯定會在插入期間留下一些影響。我怎樣才能找到插入到表中的客戶端/存儲過程/查詢以及相關的查詢?如何將所有插入呼叫識別到表中

這是可以使用SQL事件探查器跟蹤來實現的嗎?

+2

您可以添加一個「後插入」觸發器,將信息記錄到一個表。也許'select * from sys.sysprocesses其中spid = @@ spid' – Blorgbeard

+0

您可以通過依賴關係找到它,但仍然需要手動搜索應用程序代碼中使用的查詢 –

回答

0

這將爲您提供表格中的相關存儲過程,視圖,觸發器,函數名稱。

您需要重新驗證一次得到結果,無論它是否是插入語句。

SELECT * 
FROM SYS.objects 
WHERE OBJECT_DEFINITION(object_id) LIKE '%INSERT%' 
AND OBJECT_DEFINITION(object_id) LIKE '%YOUR_TABLE_NME%' 

您可以按照您的要求更改LIKE運營商中的條款。

0

你想找到哪個對象被引用這個表嗎?

對於SQL,您可以使用

SELECT OBJECT_NAME(object_id), * FROM sys.sql_modules WHERE CHARINDEX('mytablename', definition)>0 

或者,您也可以下載SQL Search

相關問題