我在具有多個監視器,16個演出DDR4 RAM,4 Ghz I7,GTX 970的開發盒上運行Windows 10 Pro 64位。我運行SQL Management Studio與SQL Server 2016開發人員版以及VS 2015 Enterprise Update 3.System.OutOfMemoryException在將SQL Server 2016升級到版本13.0.15700.28後頻繁發生
昨天我將Sql Management Studio 2016升級到13.0.15700.28,它就像我的機器的毒丸。現在過了一兩個小時後,它將拋出內存不足,除非:
執行批處理時發生錯誤。錯誤消息:類型的System.OutOfMemoryException「的異常 被拋出
現在,這是典型的,有時如果你是在幾百萬行做的非常大的回報套。若你正在做
Select Top 10 * from SmallObject
我做了新的對象一些新的表和過程的創建到現有的開發系統。這只是出於無韻或理由而出現的。它也似乎是SSMS的部分阻塞錯誤,因爲它現在凍結了系統並嘗試啓動連接對話窗口,就像我第一次啓動SSMS並嘗試連接到數據源。到目前爲止,它一直在爬行,直到我從任務管理器中殺死它。我也在運行Redgate的SQL Prompt 7.2.0.241。我曾嘗試過的東西:
- 試圖一次將標籤保持在五個以下,並在我完成時關閉它們。
- 不要將標籤從一個屏幕中斷到另一個屏幕。
- 關閉展鵬,看看它是否是罪魁禍首
- 檢查內存使用情況,因爲我去
我知道昨晚炸燬了,因爲我進入了工作和SSMS讓我知道它已經墜毀。這可能是一個MS錯誤,但是Redgate或者其他一些配置中可能存在一個錯誤,所以我認爲最好問一下,看看別人看到了什麼。 SSMS的這個版本是截至2016年8月15日,所以它是非常新的。從應用程序事件日誌的堆棧跟蹤
兩個錯誤:事件1026
應用:ssms.exe Framework版本:v4.0.30319說明: 過程由於未處理的異常終止。異常信息:
System.ComponentModel.Win32Exception在 System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams) 在System.Windows.Forms.Control.CreateHandle()在 System.Windows .Forms.ComboBox.CreateHandle()處 System.Windows.Forms.Control.CreateControl System.Windows.Forms.Control.CreateControl(布爾型)在 System.Windows.Forms.Control.CreateControl(布爾值)(布爾值) System.Windows.Forms.Control.CreateControl(Boolean)at System.Windows.Forms.Control.CreateControl(Boolean)at System.Windows.Forms.Control.CreateControl()at System.Windows.Forms.Control.WmShowWindow(System.Windows.Forms.Message 爲ByRef)在 System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message 爲ByRef)在 System.Windows.Forms的。System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message ByRef)at System.Windows.Forms.Form.WndProc(System.Windows.Forms.Message) Windows.Forms.Message的ByRef) 在 System.Windows.Forms.Control的+ ControlNativeWindow.OnMessage(System.Windows.Forms.Message 爲ByRef)在 System.Windows.Forms.Control的+ ControlNativeWindow.WndProc(System.Windows。 Forms.Message 的ByRef)在System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr的, 的Int32,IntPtr的,IntPtr的)
的另一種是事件日誌1002錯誤 '應用程序掛起',並沒有真正有意義的幫助,我可以看到:
Ssms.exe 2015.130.15700.28 68ac 01d1f98d17a32d16 C:\ Program Files文件( 86)\ Microsoft SQL Server的\ 130個\工具\ BINN \ ManagementStudio \ Ssms.exe 62a64950-658b-11E6-a2c8-f832e4a07fda
54006F00700020006C006500760065006C002000770069006E0064006F0077002000690073002000690064006C00650000000000
更新2016年8月23日:
仍然得到這個錯誤不時:
程序Ssms.exe版本2015.130.15700.28停止交互 與Windows並被關閉。要查看是否有關於 問題的更多信息可用,請檢查安全性和維護控制面板中的問題歷史記錄。進程ID:35f8開始時間: 01d1fca7e48da2da終止時間:4294967295應用程序路徑: C:\ Program Files文件(x86)的\微軟SQL服務器 \ 130 \工具\ BINN \ ManagementStudio \ Ssms.exe報告編號: 4e8b6ab9-693f- 11E6-a2cb-f832e4a07fda斷裂作用封裝的全名:
斷裂作用包相對應用程序ID:
顯然,這是除我之外的人一個問題,我就可以得到票在這裏: https://connect.microsoft.com/SQLServer/feedback/details/3062914/system-outofmemoryexception-thrown-by-even-small-selects-randomly-now
如果您遇到過這種情況,或者知道可能的修復方法,請繼續我知道。在這一點上,如果我不得不做大量的SQL工作,那麼我現在正考慮降級。我再次在Windows 10 64位機器上,這隻發生在升級到最新的SSMS版本之後。
更新2016年8月24日
MS似乎現在承認這個錯誤。如果你有這種事發生在你請到這個鏈接,並給予好評: https://connect.microsoft.com/SQLServer/feedback/details/3074856
更新2016年8月31日
最新的MS的例外:
發佈Microsoft在8/29/2016 at 10:21 AM事實上有一個 工具類中的線程泄漏。泄露的線程數量將爲 ,與您擁有的註冊服務器數量成正比,其中包括 等。一個修復即將在下一個版本
我降級,因爲做的工作比弄清楚爆炸事件更重要。降級對我來說現在工作得很好。我給了MS SQL轉儲,希望他們能在未來幾周內獲得新的版本。如果你很好奇,我的版本是13.0.15600.2,並且在兩天前降級的時候是穩定的。
異常的其餘部分在哪裏?你在哪裏找到這個例外?該文本包括調用堆棧,它將向您顯示實際拋出該錯誤的人。請放心,這不是由於SSMS,因爲其他人擁有相同的版本。您是否在事件查看器中檢查奇怪的錯誤消息? –
我爲ETL /報告工作負載運行此SSMS版本,VS 2015 Update 3 *和* VS 15 Preview *和* SQL Server 2014 *和* 2016,但沒有內存問題。如果您懷疑插件問題,只需禁用所有SSMS插件並檢查是否可以解決問題 –
最後,OutOfMemoryException並不意味着您用完RAM。當內存如此分散以至於.NET無法找到足夠大的連接,例如增長一個大列表時,它也會被拋出。 –