Applies ToSQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard

徵狀

請試想下列案例:

  • 您有一個儲存程式,其中包含 Microsoft SQL Server 2012 中的子預存程序。

  • 子預存程序使用資料表做為參數。

  • 您會建立一個臨時資料表,然後將它作為參數傳遞給子預存程序。

  • 子存儲程式會使用游標針對臨時資料表執行一些查詢。

在這種情況下,會降低 SQL Server 2012 效能的記憶體洩漏。

解決方案

累積更新資訊

SQL Server 2012 的累積更新 3 Service Pack 1 (SP1)

此問題的修正程式是在累積更新3中第一次發行。如需如何針對 SQL Server 2012 SP 1 取得累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2812412 SQL Server 2012 的累積更新套件 3 Service Pack 1注意: 因為組建是累加的,所以每個新的修正版本都包含舊版 SQL Server 2012 SP 1 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

其他相關資訊

下表提供的產品或工具的詳細資訊,這些資訊會自動檢查您的 SQL Server 實例和評估規則之 SQL Server 版本所述的 [現象] 區段中所述的條件:

規則軟體

規則標題

規則描述

評估規則所依據的產品版本

System Center Advisor

Sql server 在 SQL Server 2012 中針對嵌套的預存程序中的臨時資料表執行查詢時,出現 SQL Server 記憶體洩漏

在這個 SQL Server 實例 advisor 中,偵測到 SQL Server build 低於固定組建的狀態,以解決記憶體洩漏問題。 當您有包含子存儲程式的儲存程式,而該程式使用可進一步使用游標的 temp 資料表時,可能會發生這種情況。 您可能會注意到 MEMORYCLERK_SQLOPTIMIZER sys.dm_os_memory_clerks,並 MEMOBJ_EXECCOMPILETEMP 從 sys.dm_os_memory_objects 到較高的方向。如需詳細資訊,請參閱知識庫文章。

SQL Server 2012

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。