症狀
你可以使用 2012、2014 或 2016 SQL Server Microsoft,並透過SQL Server公共語言執行環境 (SQL CLR) 整合,建立使用者定義型別 (UDT) 。
若使用 UDT 作為儲存程序參數,該參數會透過遠端程序呼叫 (RPC) 機制傳達給伺服器。 此機制內部嘗試載入承載 UDT 的組件。
在這種情況下,你可能會遇到儲存程序執行效能下降的情況。 這是因為 RPC 不必要地載入和卸載 SQLCLR 組合語言時,導致效率低下。
這個問題表現為 CLR_AUTO_EVENT 和 CMEMTHREAD 類型的等待時間過長。 當多個同時使用者同時執行相同的儲存程序時,這點尤其明顯。
解決方式
SQL Server 服務包資訊
此更新已在以下 SQL Server 服務包中修正:
Service Pack 2 for SQL Server 2016
Service Pack 3 for SQL Server 2014
Service Pack 4 for SQL Server 2012
關於 SQL Server 服務包:
Service Pack 是累積性的。 每個新版 Service Pack 都包含前一版 Service Pack 中所有的修正程式,以及任何新增的修正程式。 我們的建議是套用該服務包的最新服務包及累積更新。 所以在安裝最新版的 Service Pack 之前,您不需要安裝前一版的 Service Pack。 請使用以下文章中的表1,查詢最新服務包及最新累積更新的更多資訊。
如何確定 SQL Server 及其元件的版本、版本與更新等級
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來說明軟體更新的術語。