在本文中,您將瞭解如何擷取診斷資訊,以針對您在 SQL Server Management Studio (SSMS) 中遇到的當機或無回應的系統進行疑難解答。
在系統無響應或當機之後取得完整記憶體傾印
停止回應或當機時,取得 SQL Server Management Studio (SSMS) 的完整記憶體轉儲。
若要擷取診斷資訊以針對當機或沒有回應的SSMS進行疑難解答,請使用下列步驟:
下載 ProcDump。
將下載解壓縮到資料夾。
開啟命令提示字元 (例如
cmd.exe),然後執行下列命令。<PathToProcDumpFolder>\procdump.exe -e -h -ma -w ssms.exe若要接受授權合約,請選取 [同意]。
如果尚未啟動,請啟動 SQL Server Management Studio (SSMS)。
重現您的問題。
請等候文字出現在命令提示字元中,讓系統完成撰寫傾印檔案,完成後再繼續操作。
建立新的資料夾,並複製寫至該資料夾的 *.dmp 檔案。
將下列檔案複製到相同的資料夾中。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dllC:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dllC:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
壓縮資料夾。
使用 Visual Studio 取得完整記憶體轉儲
在某些情況下,嘗試擷取 SSMS 的完整記憶體轉儲不會產生預期的輸出,而且需要進階疑難解答。
下列步驟需要安裝 Visual Studio 社群版或更高版本 。
若要使用 Visual Studio 擷取診斷資訊,以針對當機或沒有回應的 SSMS 進行疑難解答,請使用下列步驟:
- 開啟 Visual Studio。
- 選取 繼續不使用程式碼 以開啟空白視窗。
- 如果尚未開啟,請啟動SSMS。
- 選取 偵錯>附加至程序...。
- 在 [附加至進程] 對話框中,於 [篩選程式] 方塊中,輸入 SSMS。
- 在進程清單中,選取 [SSMS.exe],然後 [附加]。
- [輸出] 視窗隨即出現,並在 [顯示輸出來源] 中選取 [偵錯] : 。
- 在 SSMS 中重新建立有問題的行為。
- SSMS 關閉之後,在 Visual Studio 中選取 除錯> [Dump 另存新檔...],並將
.dmp檔案儲存至資料夾。 - 壓縮資料夾。
- 在關閉 Visual Studio 之前停止偵錯。
記憶體不足例外
當 SSMS 擲回 OutOfMemoryException 時,您也可以取得其完整記憶體轉儲(可以是任何受控例外狀況)。
若要擷取診斷資訊以針對 SSMS 的 OutOfMemoryException 進行疑難解答,請使用下列步驟:
下載 ProcDump。
將下載解壓縮到資料夾。
開啟命令提示字元,然後執行下列命令。
<PathToProcDumpFolder>\procdump.exe -e 1 -f System.OutOfMemoryException -ma -w ssms.exe若要接受授權合約,請選取 [同意]。
如果尚未啟動,請啟動 SQL Server Management Studio。
重現此問題。
請等候文字出現在命令提示字元中,讓系統完成撰寫傾印檔案,完成後再繼續操作。
建立新的資料夾,並複製寫至該資料夾的 *.dmp 檔案。
將下列檔案複製到相同的資料夾中。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dllC:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dllC:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
壓縮資料夾。
共用資訊
若要與 SSMS 小組共用資訊,請在 SSMS 使用者意見反應網站上建立意見反應專案。
將記憶體轉儲附加至反饋項目。 轉儲檔案可以透過私人訊息提交,因此不會公開顯示。
重要
記憶體傾印檔案可能包含機密資訊。