Compartilhar via


Obter um despejo de memória completo para solucionar problemas do SSMS

Neste artigo, você aprenderá a capturar informações de diagnóstico para solucionar uma falha ou um sistema sem resposta que você experimenta no SSMS (SQL Server Management Studio).

Obter um despejo de memória completo após um sistema sem resposta ou falha

Obtenha um despejo de memória completo do SSMS (SQL Server Management Studio) quando ele parar de responder ou falhar.

Para capturar informações de diagnóstico para solucionar problemas de uma falha ou um SSMS sem resposta, use as seguintes etapas:

  1. Baixe o ProcDump.

  2. Descompacte o download em uma pasta.

  3. Abra um prompt de comando (como cmd.exe) e execute o comando a seguir.

    <PathToProcDumpFolder>\procdump.exe -e -h -ma -w ssms.exe
    

    Para aceitar o contrato de licença, selecione Concordar.

  4. Inicie o SSMS (SQL Server Management Studio) se ainda não tiver sido iniciado.

  5. Reproduza seu problema.

  6. Aguarde quando o texto aparecer no prompt do cmd sobre como gravar o arquivo de despejo, não prossiga até que ele seja concluído.

  7. Crie uma pasta e copie o arquivo *.dmp que foi gravado nessa pasta.

  8. Copie os seguintes arquivos para a mesma pasta.

    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
  9. Compacte a pasta.

Obter um despejo de memória completo usando o Visual Studio

Há cenários em que tentar capturar um despejo de memória completo para SSMS não gera a saída esperada e requer solução de problemas avançada.

As etapas a seguir exigem que o Visual Studio(Community Edition ou superior) seja instalado.

Para capturar informações de diagnóstico com o Visual Studio para solucionar problemas de uma falha ou um SSMS sem resposta, use as seguintes etapas:

  1. Abra o Visual Studio.
  2. Selecione Continuar sem código para abrir uma janela vazia.
  3. Inicie o SSMS, se ainda não estiver aberto.
  4. Selecione Depurar>Anexar ao Processo....
  5. Na caixa de diálogo Anexar ao Processo , na caixa Desfilear processos , insira SSMS.
  6. Na lista de processos, selecione SSMS.exe e, em seguida , Anexar.
  7. Uma janela de saída é exibida, com Depuração selecionada para Mostrar saída de:.
  8. Recrie o comportamento problemático no SSMS.
  9. Depois que o SSMS for fechado, selecione Depurar>Salvar Despejo como... no Visual Studio e salve o .dmp arquivo em uma pasta.
  10. Compacte a pasta.
  11. Interrompa a depuração antes de fechar o Visual Studio.

ExceçãoDeFaltaDeMemória (OutOfMemoryException)

Você também pode receber o despejo de memória completo do SSMS quando ele gera uma OutOfMemoryException (pode ser qualquer exceção gerenciada).

Para capturar informações de diagnóstico para solucionar problemas de um OutOfMemoryException do SSMS, use as seguintes etapas:

  1. Baixe o ProcDump.

  2. Descompacte o download em uma pasta.

  3. Abra o Prompt de Comando e execute o comando a seguir.

    <PathToProcDumpFolder>\procdump.exe -e 1 -f System.OutOfMemoryException -ma -w ssms.exe
    

    Para aceitar o contrato de licença, selecione Concordar.

  4. Inicie o SQL Server Management Studio se ainda não tiver sido iniciado.

  5. Reproduza o problema.

  6. Aguarde quando o texto aparecer no prompt do cmd sobre como gravar o arquivo de despejo, não prossiga até que ele seja concluído.

  7. Crie uma pasta e copie o arquivo *.dmp que foi gravado nessa pasta.

  8. Copie os seguintes arquivos para a mesma pasta.

    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscordacwks.dll
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\SOS.dll
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
  9. Compacte a pasta.

Compartilhar as informações

  1. Para compartilhar informações com a equipe do SSMS, crie um item de comentários no site de comentários do usuário do SSMS.

  2. Anexe o despejo de memória ao item de comentários. O arquivo de despejo pode ser enviado usando uma mensagem privada para que ele não esteja disponível publicamente.

    Importante

    Os arquivos de despejo de memória podem conter informações confidenciais.