ID do artigo: 917825 - Última revisão: quarta-feira, 11 de maio de 2011 - Revisão: 1.0

Como usar o utilitário Sqldumper. exe para gerar um arquivo de despejo no SQL Server 2005.

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sumário

O utilitário Sqldumper. exe está incluído no Microsoft SQL Server 2005. Este artigo descreve como usar o utilitário Sqldumper. exe para gerar um arquivo de despejo para o relatório de erros do Watson ou para tarefas de depuração.

Mais Informações

Você pode usar o utilitário Sqldumper. exe para gerar um arquivo de despejo sob demanda para qualquer aplicativo do Microsoft Windows. Por exemplo, você pode gerar um arquivo de despejo para depurar um problema de aplicativo quando um computador que esteja executando o SQL Server 2005 não está respondendo às solicitações dos usuários. Um arquivo de despejo pode ser um arquivo de mini-despejo, um arquivo de despejo completo ou um arquivo de despejo filtrada.

Entretanto, é possível usar o utilitário Sqldumper. exe para depuração de finalidade geral. Para obter mais informações sobre a depuração de propósito geral, visite o seguinte site da Microsoft:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
O processo do SQL Server chama o utilitário Sqldumper. exe internamente para gerar um arquivo de despejo quando o processo passa por todas as exceções. SQL Server passa os sinalizadores para o utilitário Sqldumper. exe. Você pode usar os sinalizadores de rastreamento para alterar os sinalizadores que passa do SQL Server para o utilitário no contexto de uma exceção ou no contexto de uma declaração. Esses sinalizadores de rastreamento estão no intervalo de 2540 a 2559. Você pode usar esses sinalizadores de rastreamento para gerar a determinados tipos de arquivos de despejo.

Como obter um identificador de processo de aplicativo do Microsoft Windows

Para gerar um arquivo de despejo usando o utilitário Sqldumper. exe, você deve ter o identificador de processo do aplicativo do Windows para o qual você deseja gerar um arquivo de despejo. Para obter o identificador do processo, execute estas etapas:
  1. Pressione CTRL + ALT + DELETE e, em seguida, clique em Gerenciador de tarefas.
  2. No Gerenciador de tarefas do Windows caixa de diálogo, clique no Processos guia.
  3. Sobre o Modo de exibição menu, clique em Selecione as colunas.
  4. No Selecione as colunas caixa de diálogo, clique para selecionar o Processo (PID) caixa de seleção e clique em OK.
  5. Observe o identificador de processo do aplicativo do Windows para o qual você deseja gerar um arquivo de despejo. Para o aplicativo do SQL Server, observe o identificador do processo do processo Sqlservr. exe.
  6. Fechar Gerenciador de tarefas.
Você também pode obter o identificador do processo do aplicativo SQL Server que está sendo executado em seu computador usando o arquivo de log de erros do SQL Server. Por exemplo, parte do arquivo de log de erro do SQL Server é semelhante ao seguinte:
2006-04-18 09:53:03.94 Servidor do Microsoft SQL Server 2005 - 9.00.1399.06 (Intel x86)
00:33:37 De 14 de outubro de 2005
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition no Windows NT 5. 2 (Build 3790: Service Pack 1)

2006-04-18 09:53:03.94 Server (c) 2005 Microsoft Corporation.
2006-04-18 09:53:03.94 Server todos os direitos reservados.
2006-04-18 09:53:03.94 Server ID de processo do servidor é 3716.
O número que aparece após Identificação de processo do servidor é o identificador de processo para o processo de Sqlservr. exe.

Como executar o utilitário Sqldumper. exe

Execute o utilitário Sqldumper. exe no contexto da pasta onde o SQL Server instalado originalmente o utilitário. Por padrão, o caminho de instalação do utilitário Sqldumper. exe é:
SQLServerInstallDrive: \Arquivos de Programas\Microsoft SQL Server\90\Shared\SQLDumper.exe
Observação SQLServerInstallDrive é um espaço reservado para a unidade em que você instalou o SQL Server 2005.

Para gerar um arquivo de despejo usando o utilitário Sqldumper. exe, execute estas etapas:
  1. Abra a seguinte pasta:
    SQLServerInstallDrive: \Arquivos de Programas\Microsoft SQL Server\90\Shared
  2. Certifique-se de que o arquivo Dbghelp. dll está nessa pasta.
  3. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
  4. No prompt de comando, digite o seguinte comando e pressione ENTER:
    CD SQLServerInstallDrive: \Arquivos de Programas\Microsoft SQL Server\90\Shared
  5. Para gerar um tipo específico de arquivo de despejo, digite o comando correspondente no prompt de comando e pressione ENTER:
    • Arquivo de despejo completo
      Sqldumper. exe ProcessID 0 0x01100
    • Arquivo mini-despejo
      Sqldumper. exe ProcessID 0 0x0120
    • Arquivo de mini-despejo inclui memória referenciada indiretamente
      Sqldumper. exe ProcessID 0 0x0120:40
    • Arquivo de despejo filtrado
      Sqldumper. exe ProcessID 0 0x8100
    Observação ProcessID é um espaço reservado para o identificador de processo do aplicativo do Windows para o qual você deseja gerar um arquivo de despejo.
Se o utilitário Sqldumper. exe é executado com êxito, o utilitário gera um arquivo de despejo na pasta onde o utilitário está instalado.

O arquivo de despejo gera o utilitário Sqldumper. exe possui um padrão de nome de arquivo semelhante à seguinte:
SQLDmprxxxx.mdmp
Nesse padrão, xxxx um número crescente que é determinado com base em outros arquivos que tenham um nome semelhante na mesma pasta. Se você já tiver arquivos na pasta com nomes de arquivos no padrão especificado, talvez você precise comparar a data e a hora em que o arquivo foi criado para identificar o arquivo que você deseja.

Informações adicionais e considerações

Quando o utilitário Sqldumper. exe gera um arquivo de despejo para um aplicativo do Windows, o arquivo de despejo pode ser tão grande quanto a memória que o aplicativo do Windows está usando atualmente. Verifique se há espaço em disco suficiente disponível na unidade para o qual o utilitário Sqldumper. exe está gravando o arquivo de despejo.

Você pode especificar o diretório onde você deseja que o utilitário Sqldumper. exe para gravar o arquivo de despejo. O diretório já deve existir antes de executar o utilitário Sqldumper. exe. Caso contrário, o utilitário Sqldumper. exe falharão. Use um caminho UNC como um local para o arquivo de despejo. Este é um exemplo de como especificar o local do arquivo de despejo do arquivo mini-despejo:
  1. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
  2. No prompt de comando, digite o seguinte comando e pressione ENTER:
    CD SQLServerInstallDrive: \Arquivos de Programas\Microsoft SQL Server\90\Shared
  3. Digite o seguinte comando no prompt de comando e pressione ENTER:
    Sqldumper. exe ProcessID 0 0x0120 0 MdumpPath
    Observação MdumpPath é um espaço reservado para o diretório onde você deseja que o utilitário Sqldumper. exe para gravar o arquivo de despejo.
Se você especificar um arquivo de despejo completo ou um arquivo de despejo filtrado seja gerado, o utilitário Sqldumper. exe pode levar vários minutos para gerar o arquivo de despejo. O tempo varia de acordo com as seguintes variáveis:
  • A quantidade de memória que está usando o utilitário Sqldumper. exe
  • A velocidade da unidade para o qual o utilitário está gravando o arquivo de despejo
Durante esse período, o utilitário Sqldumper. exe não processará comandos. Você irá notar que o servidor parou de responder. Além disso, pode ocorrer um failover do cluster.

Para executar o utilitário Sqldumper. exe, você deve fazer logon no Windows usando um dos seguintes métodos:
  • Use uma conta que seja membro do grupo Administradores no computador.
  • Use a mesma conta de usuário sob a qual o serviço do SQL Server está sendo executado.
Para o utilitário Sqldumper. exe funcionar com êxito por meio da área de trabalho remota ou serviços de Terminal, você deve iniciar a área de trabalho remota ou serviços de Terminal no modo de console. Por exemplo, para iniciar a área de trabalho remota no modo de console, clique em Iniciar, clique em Executar, tipo mstsc /consolee, em seguida, clique em OK. Esteja ciente de que, se o servidor de destino executa o Windows 2000, o /Console opção será silenciosamente ignorada. Você pode se conectar ao servidor através de área de trabalho remota. Mas você não usará a sessão do console.
Se você notar que nenhum arquivo de despejo foi gerado na pasta atual antes de executar o utilitário Sqldumper. exe, examine as informações que o utilitário tem gerado na linha de comando para tentar determinar a possível causa da falha. Essas informações também são registradas no arquivo SQLDUMPER_ERRORLOG. log na pasta atual. Estes são dois possíveis mensagens de erro e suas causas:
Mensagem 1
0X57 de falha de OpenProcess - O parâmetro está incorreto
Uma inválido ID de processo foi passado para o utilitário Sqldumper. exe.
Mensagem 2
Valor inválido para o identificador do segmento - erro de parâmetro de <invalid parameter=""> </invalid>
Foi passado um parâmetro inválido para o utilitário Sqldumper. exe.

Se uma mensagem de erro semelhante à seguinte é gerada, ignore esta mensagem:
Tipo de retorno de chamada desconhecida durante minidump 6
Tipo de retorno de chamada desconhecida durante minidump 7

Failovers de cluster e o utilitário Sqldumper. exe

Em situações de failover do cluster, o recurso do SQL Server DLL agora poderá obter um arquivo de despejo antes de ocorre o failover. Quando a DLL de recursos do SQL Server determina que um recurso do SQL Server falhou, o recurso do SQL Server DLL usa o utilitário Sqldumper. exe para obter um arquivo de despejo do processo do SQL Server. Para certificar-se de que o utilitário Sqldumper. exe gera com êxito o arquivo de despejo, você deve definir as seguintes três propriedades como pré-requisitos:
  • SqlDumperDumpTimeOut
    Um tempo limite especificado pelo usuário. O recurso que dll aguarda o arquivo de despejo seja concluída antes que a DLL de recurso interrompe o serviço do SQL Server.
  • SqlDumperDumpPath
    O local onde o utilitário Sqldumper. exe gera o arquivo de despejo.
  • SqlDumperDumpFlags
    Sinalizadores que usa o utilitário Sqldumper. exe.
Se qualquer uma das propriedades não estiver definida, o utilitário Sqldumper. exe não é possível gerar o arquivo de despejo. Uma mensagem de aviso será registrada no log de eventos e no log de cluster sempre que o recurso é colocado online.

Para definir as propriedades de utilitário Sqldumper. exe para failover do cluster, execute estas etapas:
  1. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
  2. Para cada propriedade, digite o comando correspondente no prompt de comando e pressione ENTER:
    • O SqlDumperDumpFlags propriedade
      Para definir o SqlDumperDumpFlags propriedade para um tipo específico de arquivo de despejo, digite o comando correspondente no prompt de comando e pressione ENTER:
      • Todos os arquivos de despejo completo de thread
        • Instância padrão
          cluster resource "sql Server" /priv SqlDumperDumpFlags = 0x01100
        • Instância nomeada
          cluster resource "sql Server (instance1)" /priv SqlDumperDumpFlags = 0x01100
      • Todos os arquivos de mini-despejo de thread
        • Instância padrão
          cluster resource "sql Server" /priv SqlDumperDumpFlags = 0x0120
        • Instância nomeada
          cluster resource "sql Server (instance1)" /priv SqlDumperDumpFlags = 0x0120
      • Filtrado todos os arquivos de despejo de thread
        • Instância padrão
          cluster resource "sql Server" /priv SqlDumperDumpFlags = 0x8100
        • Instância nomeada
          recurso de cluster "SQL Server.(INSTANCE1)"/priv SqlDumperDumpFlags = 0x8100
    • OSqlDumperDumpPath propriedade
      cluster resource "sql Server" /priv SqlDumperDumpPath = DirectoryPath
      Observação DirectoryPath é um espaço reservado para o diretório no qual será gerado o arquivo de despejo e deve ser especificado entre aspas ("").
    • O SqlDumperDumpTimeOut propriedade
      cluster resource "sql Server" /priv SqlDumperDumpTimeOut = Tempo limite
      Observação Tempo limite é um espaço reservado para o tempo limite em milissegundos (ms).

      O tempo que o utilitário leva para gerar um arquivo de despejo de um processo do SQL Server depende da configuração do computador. Para um computador que tenha muita memória, o tempo pode ser significativo. Para obter uma estimativa do tempo que o processo leva, use o utilitário Sqldumper. exe para gerar manualmente um arquivo de despejo. Os valores válidos para o SqlDumperDumpTimeOut são de propriedade da 10000 ms para MAXDWORD. MAXDWORD representa o maior valor no intervalo do tipo de dados DWORD (4294967295).
Para verificar se as configurações foram habilitadas, você pode executar o comando a seguir:
cluster resource "sql Server" /priv "

Para remover as propriedades de utilitário Sqldumper. exe para failover do cluster, execute estas etapas:
  1. Clique em Iniciar, clique em Executar, tipo cmde, em seguida, clique em OK.
  2. Para uma propriedade específica, digite o comando correspondente no prompt de comando e pressione ENTER:
    • O SqlDumperDumpFlags propriedade
      • Instância padrão
        /usedefault de /priv:SqlDumperDumpFlags de "sql Server" do recurso de cluster.
      • Instância nomeada
        /usedefault de /priv:SqlDumperDumpFlags de "sql Server (instance1)" do recurso de cluster.
    • O SqlDumperDumpPath propriedade
      • Instância padrão
        /usedefault de /priv:SqlDumperDumpPath de "sql Server" do recurso de cluster.
      • Instância nomeada
        recurso de cluster "SQL Server.(INSTANCE1)"/priv:SqlDumperDumpPath /usedefault
    • O SqlDumperDumpTimeOutpropriedade
      • Instância padrão
        /usedefault de /priv:SqlDumperDumpTimeOut de "sql Server" do recurso de cluster.
      • Instância nomeada
        recurso de cluster "SQL Server.(INSTANCE1)"/priv:SqlDumperDumpTimeOut /usedefault
Palavras-chave: 
kbsql2005tool kbexpertiseadvanced kbhowto kbinfo kbmt KB917825 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 917825  (http://support.microsoft.com/kb/917825/en-us/ )