2017-10-18 79 views
0

我有一個ASP.NET MVC 4網站綁定到MS SQL Server數據庫。我可以在許多aspnet_存儲過程中看到一些自定義的過程。如何知道存儲過程是否正在使用?

如何知道這些自定義存儲過程是否正在使用?我應該檢查C#代碼還是其他?

謝謝。

+0

自定義存儲過程不應該有'aspnet_'前綴 –

+0

爲什麼你需要知道使用哪一個?你想遷移到其他類型的數據庫嗎?鏈接如何獲取有關生產中使用的SP的信息,例如https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/ – zxxc

回答

1

在對象資源管理器中,右鍵單擊存儲過程 - >查看依賴關係。

另外,通過存儲過程的名稱後面的c#代碼進行搜索。

+0

OP應該完全做到這一點,但如果有其他客戶使用該數據庫,它將無法幫助他。 –

+0

當然,我想我們的答案組合是最好的。 – hellogoodnight

+0

他們都只依賴於他們自己... – abenci

0

如果您有相關的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#幾乎肯定不會幫助您,除非您確定您的代碼是唯一的客戶端。

相關問題