我有一個ASP.NET MVC 4網站綁定到MS SQL Server數據庫。我可以在許多aspnet_
存儲過程中看到一些自定義的過程。如何知道存儲過程是否正在使用?
如何知道這些自定義存儲過程是否正在使用?我應該檢查C#代碼還是其他?
謝謝。
我有一個ASP.NET MVC 4網站綁定到MS SQL Server數據庫。我可以在許多aspnet_
存儲過程中看到一些自定義的過程。如何知道存儲過程是否正在使用?
如何知道這些自定義存儲過程是否正在使用?我應該檢查C#代碼還是其他?
謝謝。
在對象資源管理器中,右鍵單擊存儲過程 - >查看依賴關係。
另外,通過存儲過程的名稱後面的c#代碼進行搜索。
OP應該完全做到這一點,但如果有其他客戶使用該數據庫,它將無法幫助他。 –
當然,我想我們的答案組合是最好的。 – hellogoodnight
他們都只依賴於他們自己... – abenci
如果您有相關的SQL的權限,你可以只運行
SELECT
DB_NAME(database_id),
OBJECT_NAME(object_id),
cached_time,
last_execution_time,
execution_count
FROM
sys.dm_exec_procedure_stats;
這會告訴你最後一次的每個存儲過程運行您所查詢實例。
除此之外,我認爲沒有辦法。緩存在一定程度上存儲執行計劃,但它們變得巨大並且在存儲中默認被截斷。並且存儲過程可以配置爲無需執行計劃即可運行,特別是groovy新編譯的存儲過程。
搜索C#幾乎肯定不會幫助您,除非您確定您的代碼是唯一的客戶端。
自定義存儲過程不應該有'aspnet_'前綴 –
爲什麼你需要知道使用哪一個?你想遷移到其他類型的數據庫嗎?鏈接如何獲取有關生產中使用的SP的信息,例如https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/ – zxxc