Partilhar via


Utilitário SQLdiag

O SQLdiag é um utilitário de coleção de diagnósticos de propósito geral que pode ser executado como um aplicativo do console ou um serviço. É possível usar o SQLdiag para coletar logs e arquivos de dados do SQL Server e outros tipos de servidores, e usá-los para monitorar os servidores ao longo do tempo ou para solucionar problemas específicos com seus servidores. O SQLdiag foi criado para agilizar e simplificar a coleta de informações de diagnóstico para os Serviços de Suporte Técnico da Microsoft.

ObservaçãoObservação

Começando com SQL Server 2005, o utilitário SQLdiag mudou significativamente. Os argumentos de linha de comando para esse utilitário não são compatíveis com o SQL Server 2000. Esse utilitário pode ser alterado e os aplicativos ou scripts que dependem dos seus argumentos de linha de comando ou comportamento podem não funcionar corretamente em versões futuras.

O SQLdiag pode coletar os seguintes tipos de informações de diagnóstico:

  • Logs de desempenho do Windows

  • Logs de evento do Windows

  • SQL Server Profilerrastreamentos

  • Bloqueio de informações do SQL Server

  • Informações de configuração do SQL Server

É possível especificar quais tipos de informações você deseja que o SQLdiag colete editando o arquivo de configuração SQLDiag.xml, descrito em uma seção a seguir.

Sintaxe

sqldiag 
     { [/?] }
     |
     { [/I configuration_file]
       [/O output_folder_path]
       [/P support_folder_path]
       [/N output_folder_management_option]
              [/M machine1 [ machine2 machineN]| @machinelistfile]
       [/C file_compression_type]
              [/B [+]start_time]
       [/E [+]stop_time]
       [/A SQLdiag_application_name]
       [/T { tcp [ ,port ] | np | lpc | via } ]
       [/Q] [/G] [/R] [/U] [/L] [/X] }
     |
     { [START | STOP | STOP_ABORT] }
     |
     { [START | STOP | STOP_ABORT] /A SQLdiag_application_name }

Argumentos

  • /?
    Exibe informações de uso.

  • /Iconfiguration_file
    Define o arquivo de configuração para o SQLdiag usar. Por padrão, /I é definido como SQLDiag.Xml.

  • /Ooutput_folder_path
    Redireciona a saída do SQLdiag para a pasta especificada. Se a opção /O não estiver especificada, a saída do SQLdiag será gravada em uma subpasta nomeada SQLDIAG na pasta de inicialização do SQLdiag. Se a pasta SQLDIAG não existir, o SQLdiag tentará criá-la.

    ObservaçãoObservação

    O local da pasta de saída é relativo ao local da pasta de suporte que pode ser especificado com /P. Para definir um local completamente diferente para a pasta de saída, especifique o caminho completo do diretório para /O.

  • /Psupport_folder_path
    Define o caminho da pasta de suporte. Por padrão, /P é definido como a pasta onde o executável SQLdiag reside. A pasta de suporte contém os arquivos de suporte do SQLdiag, tais como arquivo de configuração XML, scripts Transact-SQL e outros arquivos que o utilitário utiliza durante a coleção de diagnóstico. Se você usar essa opção para especificar um caminho alternativo dos arquivos de suporte, o SQLdiag irá automaticamente copiar os arquivos de suporte solicitados na pasta especificada se eles ainda não existirem.

    ObservaçãoObservação

    Para definir sua pasta atual como o caminho de suporte, especifique o %cd% na linha de comando como segue:

    SQLDIAG /P %cd%

  • /Noutput_folder_management_option
    Define se o SQLdiag substitui ou renomeia a pasta de saída quando começar. Opções disponíveis:

    1 = Substitui a pasta de saída (padrão)

    2 = Quando o SQLdiag começar, ele renomeia a pasta de saída a como SQLDIAG_00001, SQLDIAG_00002 e assim por diante. Depois de renomear a pasta de saída atual, o SQLdiag grava a saída na pasta de saída padrão SQLDIAG.

    ObservaçãoObservação

    O SQLdiag não anexa saída à pasta de saída atual quando começa. Ele pode apenas substituir a pasta de saída padrão (opção 1) ou renomear a pasta (opção 2) e, em seguida, gravar a saída na nova pasta de saída padrão SQLDIAG.

  • /Mmachine1 [ machine2machineN] | @machinelistfile
    Substitui as máquinas especificadas no arquivo de configuração. Por padrão, o arquivo de configuração é SQLDiag.Xml ou é definido com o parâmetro /I. Ao especificar mais de uma máquina, separe cada nome de máquina com um espaço.

    Usar o @machinelistfile especifica um nome de arquivo de lista de máquina a ser armazenado no arquivo de configuração.

  • /Cfile_compression_type
    Define o tipo de compactação de arquivo usado nos arquivos da pasta de saída do SQLdiag. Opções disponíveis:

    0 = nenhum (padrão)

    1 = usa compactação NTFS

  • /B [+]start_time
    Especifica a data e a hora para começar a coletar dados de diagnóstico no seguinte formato:

    AAAAMMDD_HH:MM:SS

    A hora é especificada usando a notação de 24 horas. Por exemplo, 2:00 P.M. deve ser especificado como 14:00:00.

    Use + sem a data (apenas HH:MM:SS) para especificar uma hora relativa à data e à hora atuais. Por exemplo, se você especificar /B +02:00:00: 00:00, o SQLdiag irá aguardar 2 horas antes de começar a coletar informações.

    Não insira um espaço entre + e a start_timeespecificada.

    Se você não especificar uma hora de início no passado, o SQLdiag irá alterar forçosamente a data de modo que a data e a hora de início estejam no futuro. Por exemplo, se você especificar /B 01:00:00 e a hora atual for 08:00:00, o SQLdiag irá alterar forçosamente a data de início de modo que a data de início seja o dia seguinte.

    Observe que o SQLdiag usa a hora local no computador onde o utilitário está sendo executado.

  • /E [+]stop_time
    Especifica a data e a hora para interromper a coleta de dados de diagnóstico no seguinte formato:

    AAAAMMDD_HH:MM:SS

    A hora é especificada usando a notação de 24 horas. Por exemplo, 2:00 P.M. deve ser especificado como 14:00:00.

    Use + sem a data (apenas HH:MM:SS) para especificar uma hora relativa à data e à hora atuais. Por exemplo, se você especificar uma hora de início e uma hora de término usando /B +02:00:00 /E +03:00:00, o SQLdiag irá aguardar 2 horas antes de começar a coletar informações e coletará informações por 3 horas antes de parar e fechar. Se /B não for especificado, o SQLdiag começará a coletar diagnóstico imediatamente e terminará na data e na hora especificadas por /E.

    Não insira espaço entre + e a start_time ou end_time especificada.

    Observe que o SQLdiag usa a hora local no computador onde o utilitário está sendo executado.

  • /A SQLdiag_application_name
    Habilita a execução de várias instâncias do utilitário SQLdiag na mesma instância do SQL Server.

    Cada SQLdiag_application_name identifica uma instância diferente do SQLdiag. Não existe relação entre uma instância do SQLdiag_application_name e um nome de instância do SQL Server.

    O SQLdiag_application_name pode ser usado para iniciar ou interromper uma instância específica de serviço do SQLdiag.

    Por exemplo:

    SQLDIAG START /A SQLdiag_application_name

    Também pode ser usado com a opção /R para registrar uma instância específica do SQLdiag como um serviço. Por exemplo:

    SQLDIAG /R /ASQLdiag_application_name

    ObservaçãoObservação

    O SQLdiag automaticamente antepõe DIAG$ ao nome de instância especificado para o SQLdiag_application_name. Isso fornecerá um nome de serviço sensato se você registrar o SQLdiag como um serviço.

  • /T { tcp [ ,port ] | np | lpc | via }
    Conecta a uma instância do SQL Server usando o protocolo especificado.

    • tcp [, port]
      Protocolo TCP/IP. Opcionalmente, é possível especificar um número de porta para a conexão.

    • np
      Pipes nomeados. Por padrão, a instância padrão do SQL Server escuta nos pipes nomeados \\.\pipe\sql\query e \\.\pipe\MSSQL$<instancename>\sql\query para uma instância nomeada. Não é possível conectar a uma instância do SQL Server usando um nome de pipe alternado.

    • lpc
      Chamada de procedimento local. Esse protocolo de memória compartilhada também estará disponível se o cliente estiver se conectando a uma instância do SQL Server no mesmo computador.

    • via
      Protocolo VIA. Use para hardware VIA. Para obter informações sobre como usar VIA, contate o fornecedor do hardware.

      ObservaçãoObservação

      O protocolo VIA foi preterido. Esse recurso será removido em uma versão futura do Microsoft SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

    Para obter mais informações sobre protocolos, consulte Escolhendo um protocolo de rede.

  • /Q
    Executa o SQLdiag no modo silencioso. /Q suprime todos os prompts, como prompts de senha.

  • /G
    Executa o SQLdiag no modo genérico. Quando /G é especificado, ao inicializar, o SQLdiag não impõe a verificação de conectividade do SQL Server ou verifica se o usuário é um membro da função de servidor fixa sysadmin. Em vez disso, o SQLdiag transfere ao Windows para determinar se um usuário tem os direitos apropriados para reunir cada diagnóstico solicitado.

    Se /G não for especificado, o SQLdiag verificará para determinar se o usuário é um membro do grupo de Administradores do Windows e não coletará diagnóstico do SQL Server se o usuário não for um membro do grupo de Administradores.

  • /R
    Registra o SQLdiag como um serviço. Quaisquer argumentos de linha de comando especificados ao registrar o SQLdiag como um serviço são preservados para futuras execuções do serviço.

    Quando o SQLdiag for registrado como um serviço, o nome de serviço padrão será SQLDIAG. Você pode alterar o nome de serviço usando o argumento /A.

    Use o argumento de linha de comando START para iniciar o serviço:

    SQLDIAG START

    Você também pode usar o comando net start para iniciar o serviço:

    net start SQLDIAG

  • /U
    Cancela o registro do SQLdiag como um serviço.

    Também use o argumento /A se for cancelar o registro de uma instância SQLdiag.

  • /L
    Executa o SQLdiag no modo contínuo quando uma hora de início ou de término também é especificada com os argumentos /B ou /E, respectivamente. O SQLdiag reinicia automaticamente depois que a coleção de diagnósticos é interrompida devido a um desligamento agendado. Por exemplo, usando o argumento /E ou /X.

    ObservaçãoObservação

    O SQLdiag irá ignorar o argumento /L se uma hora de início ou de término não for especificada usando os argumentos de linha de comando /B e /E.

    Usar /L não implica o modo de serviço. Para usar /L ao executar o SQLdiag como um serviço, especifique-o na linha de comando quando você registrar o serviço.

  • /X
    Executa o SQLdiag no modo de instantâneo. O SQLdiag tira um instantâneo de todo o diagnóstico configurado e desliga automaticamente.

  • START | STOP | STOP_ABORT
    Inicia ou interrompe o serviço do SQLdiag. STOP_ABORT força o serviço a desligar o mais rápido possível sem terminar a coleção de diagnóstico atual.

    Quando esses argumentos de controle de serviço forem usados, eles deverão ser o primeiro argumento usado na linha de comando. Por exemplo:

    SQLDIAG START

    Somente o argumento /A, que especifica uma instância nomeada do SQLdiag, pode ser usado com START, STOP ou STOP_ABORT para controlar uma instância específica do serviço SQLdiag. Por exemplo:

    SQLDIAG START /ASQLdiag_application_name

Requisitos de segurança

A não ser que o SQLdiag seja executado no modo genérico (especificando o argumento de linha de comando /G), o usuário que está executando o SQLdiag deverá ser um membro do grupo de Administradores do Windows e um membro da função de servidor fixa sysadmin do SQL Server. Por padrão, o SQLdiag conecta-se ao SQL Server usando a Autenticação do Windows, mas também tem suporte para a Autenticação do SQL Server.

Considerações sobre desempenho

Os efeitos de desempenho de executar o SQLdiag dependem do tipo de dados de diagnóstico que você configurou para coletar. Por exemplo, se você configurou o SQLdiag para coletar informações de rastreamento do SQL Server Profiler, quanto maior o número de classes de evento que você escolher para rastreamento, mais o desempenho do servidor será afetado.

O impacto no desempenho ao executar o SQLdiag é aproximadamente equivalente à soma dos custos de coleta do diagnóstico configurado separadamente. Por exemplo, coletar um rastreamento com o SQLdiag gera o mesmo custo de desempenho que coletá-lo com o SQL Server Profiler. O impacto no desempenho ao usar o SQLdiag é desprezível.

Espaço em disco exigido

Como o SQLdiag pode coletar diferentes tipos de informações de diagnóstico, o espaço em disco livre exigido para executar o SQLdiag varia. A quantidade de informações de diagnóstico coletada depende da natureza e do volume da carga de trabalho que o servidor está processando e pode ir de alguns megabytes para vários gigabytes.

Arquivos de configuração

Ao inicializar, o SQLdiag lê o arquivo de configuração e os argumentos de linha de comando que foram especificados. Você especifica os tipos de informações de diagnóstico que o SQLdiag coleta no arquivo de configuração. Por padrão, o SQLdiag utiliza o arquivo de configuração SQLDiag.Xml, extraído sempre que a ferramenta é executada e localizado na pasta de inicialização do utilitário SQLdiag. O arquivo de configuração utiliza o esquema XML, SQLDiag_schema.xsd, que também é extraído no diretório de inicialização do utilitário a partir do arquivo executável sempre que o SQLdiag é executado.

Editando os arquivos de configuração

Você pode copiar e editar SQLDiag.Xml para alterar os tipos de dados de diagnóstico que o SQLdiag coleta. Ao editar o arquivo de configuração, sempre use um editor de XML que pode validar o arquivo de configuração em seu esquema XML como o Management Studio. Você não deve editar SQLDiag.Xml diretamente. Em vez disso, faça uma cópia do SQLDiag.Xml e renomeie-a com um novo nome de arquivo na mesma pasta. Em seguida, edite o novo arquivo e use o argumento /I para passá-lo para o SQLdiag.

Editando o arquivo de configuração quando o SQLdiag é executado como um serviço

Se você já executou o SQLdiag como um serviço e precisa editar o arquivo de configuração, cancele o registro do serviço SQLDIAG especificando o argumento de linha de comando /U e, em seguida, registre o serviço novamente usando o argumento de linha de comando /R. Cancelar o registro e registrar novamente o serviço remove informações de configuração antigas que foram armazenadas no registro do Windows.

Pasta de saída

Se você não especificar uma pasta de saída com o argumento /O, o SQLdiag criará uma subpasta chamada SQLDIAG na pasta de inicialização do SQLdiag. Para coleção de informações de diagnóstico que envolva rastreamentos de grande volume, como o SQL Server Profiler, verifique se a pasta de saída está em uma unidade local com espaço suficiente para armazenar a saída de diagnóstico solicitada.

Quando o SQLdiag é reiniciado, ele substitui o conteúdo da pasta de saída. Para evitar isso, especifique a linha de comando /N 2.

Processo de coleção de dados

Quando o SQLdiag é inicializado, ele desempenha as verificações de inicialização necessárias para coletar os dados de diagnóstico que foram especificados no SQLDiag.Xml. Esse processo pode demorar vários segundos. Depois que o SQLdiag começar a coletar os dados de diagnóstico ao ser executado como um aplicativo do console, uma mensagem é exibida informando que a coleta do SQLdiag começou e que você pode pressionar CTRL+C para interrompê-la. Quando o SQLdiag é executado como um serviço, uma mensagem semelhante é gravada no log de evento do Windows.

Se você estiver usando o SQLdiag para diagnosticar um problema que você pode reproduzir, espere até receber essa mensagem antes de reproduzir o problema em seu servidor.

O SQLdiag coleta a maioria dos dados de diagnóstico em paralelo. Todas as informações de diagnóstico são coletadas conectando-se às ferramentas, tais como o utilitário sqlcmd do SQL Server ou o processador de comando do Windows, exceto quando as informações são coletadas dos logs de desempenho e logs de evento do Windows. O SQLdiag utiliza um thread de trabalho por computador para monitorar a coleção de dados de diagnóstico dessas outras ferramentas, frequentemente aguardando a conclusão de várias ferramentas simultaneamente. Durante o processo de coleta, o SQLdiag roteia a saída de cada diagnóstico para a pasta de saída.

Interrompendo a coleção de dados

Depois que o SQLdiag começar a coletar dados de diagnóstico, ele continuará a faze-lo a não ser que você o interrompa ou ele esteja configurado para ser interrompido em um determinado horário. Você pode configurar o SQLdiag para ser interrompido em uma hora especificada usando o argumento /E, que permite que você especifique uma hora de parada ou usando o argumento /X, que executa o SQLdiag no modo de instantâneo.

Quando o SQLdiag é interrompido, ele interrompe todos os diagnósticos iniciados. Por exemplo, ele interrompe os rastreamentos que o SQL Server Profiler estava coletando, a execução de scripts Transact-SQL e qualquer subprocesso gerado durante a coleção de dados. Depois que coleção de dados de diagnóstico é concluída, o SQLdiag é encerrado.

ObservaçãoObservação

Não há suporte para pausar o serviço SQLdiag. Se você tentar pausar o serviço SQLdiag, ele será interrompido depois de concluir a coleta de diagnósticos que estava executando quando você o pausou. Se você reiniciar o SQLdiag depois de interrompê-lo, o aplicativo reiniciará e substituirá a pasta de saída. Para evitar a substituição da pasta de saída, especifique /N 2 na linha de comando.

Para interromper o SQLdiag quando estiver sendo executado como um aplicativo do console

Se você estiver executando o SQLdiag como um aplicativo do console, pressione CTRL+C na janela do console onde o SQLdiag está sendo executado para interrompê-lo. Depois de pressionar CTRL+C, uma mensagem é exibida na janela do console informando que a coleção de dados do SQLDiag está terminando e que você deve esperar a conclusão do processo, o que pode demorar vários minutos.

Pressione Ctrl+C duas vezes para finalizar todos os processos de diagnóstico filho e encerrar imediatamente o aplicativo.

Para interromper o SQLdiag quando estiver sendo executado como um serviço

Se você estiver executando o SQLdiag como um serviço, execute SQLDiag STOP na pasta de inicialização do SQLdiag para interrompê-lo.

Se você estiver executando várias instâncias do SQLdiag no mesmo computador, será possível transferir o nome de instância do SQLdiag para a linha de comando quando você interromper o serviço. Por exemplo, para interromper uma instância do SQLdiag nomeada Instância 1, use a seguinte sintaxe:

SQLDIAG STOP /A Instance1
ObservaçãoObservação

/A é o único argumento de linha de comando que pode ser usado START, STOP ou STOP_ABORT. Se você precisar especificar uma instância nomeada do SQLdiag com um dos verbos de controle de serviço, especifique /A após o verbo de controle na linha de comando como mostrado no exemplo de sintaxe anterior. Quando verbos de controle são usados, eles devem ser o primeiro argumento na linha de comando.

Para interromper o serviço o mais rapidamente possível, execute SQLDIAG STOP_ABORT na pasta de inicialização do utilitário. Esse comando aborta qualquer coleta de diagnóstico que está sendo executada atualmente sem esperar a sua conclusão.

ObservaçãoObservação

Use SQLDiag STOP ou SQLDIAG STOP_ABORT para interromper o serviço SQLdiag. Não use o Console de Serviços do Windows para interromper o SQLdiag ou outros serviços do SQL Server.

Iniciando e interrompendo automaticamente o SQLdiag

Para iniciar e interromper automaticamente a coleção de dados em uma hora especificada, use os argumentos /Bstart_time e /Estop_time na notação de 24 horas. Por exemplo, se você estiver solucionando um problema que aparece consistentemente em aproximadamente 02:00:00, poderá configurar o SQLdiag para iniciar automaticamente a coleta de dados de diagnóstico à 01:00 e interrompê-la automaticamente às 03:00:00. Use os argumentos /B e /E para especificar o horário de início e de parada. Use a notação de 24 horas para especificar as data de início e de parada exatas com o formato AAAAMMDD_HH:MM:SS. Para especificar uma hora de início ou de parada relativa, anteponha às horas de início e de parada o + e omita a parte da data (AAAAMMDD_) conforme mostrado no exemplo a seguir, que faz o SQLdiag esperar 1 hora antes de começar a coletar informações e, em seguida, coleta informações por 3 horas antes de ser interrompido e fechar:

sqldiag /B +01:00:00 /E +03:00:00

Quando uma start_time relativa é especificada, o SQLdiag inicia em uma hora relativa à data e à hora atuais. Quando uma end_time relativa é especificada, o SQLdiag encerra em uma hora relativa à start_time especificada. Se a data e a hora de início e de parada especificadas estiverem no passado, o SQLdiag forçosamente alterará a data de início de modo que a data e a hora de início estejam no futuro.

Isto tem implicações importantes nas datas de início e de término que você escolhe. Considere o seguinte exemplo:

sqldiag /B +01:00:00 /E 08:30:00

Se a hora atual for 08:00, a hora de término passará antes da coleta de diagnóstico começar de fato. Como o SQLDiag ajusta automaticamente as datas de início e de término para o próximo dia quando ocorrem no passado, nesse exemplo, a coleta de diagnóstico começará às 09:00 de hoje (uma hora de início relativa foi especificada com +) e continuará até às 08:30 da manhã seguinte.

Interrompendo e reiniciando o SQLdiag para coletar diagnósticos diários

Para coletar um conjunto de diagnósticos especificado diariamente sem ter que iniciar e interromper manualmente o SQLdiag, use o argumento /L. O argumento /L faz com que o SQLdiag seja executado continuamente reiniciando-se automaticamente após um desligamento agendado. Quando /L é especificado e o SQLdiag é interrompido porque atingiu a hora de término com o argumento /E ou porque está sendo executado no modo de instantâneo usando o argumento /X, o SQLdiag reiniciará em vez de fechar.

O exemplo a seguir especifica que o SQLdiag seja executado no modo contínuo para reiniciar automaticamente depois que a coleta de dados de diagnóstico ocorrer entre 03:00:00 e 05:00:00.

sqldiag /B 03:00:00 /E 05:00:00 /L

O exemplo a seguir especifica que o SQLdiag seja executado no modo contínuo para reiniciar automaticamente depois de tirar um instantâneo dos dados de diagnóstico às 03:00:00.

sqldiag /B 03:00:00 /X /L

Executando o SQLdiag como um serviço

Quando você quiser usar o SQLdiag para coletar dados de diagnóstico por longos períodos de tempo durante os quais você precisará fazer logout do computador no qual o SQLdiag está sendo executado, será possível executá-lo como um serviço.

Para registrar o SQLdiag para ser executado como um serviço

Você pode registrar o SQLdiag para ser executado como um serviço especificando o argumento /R na linha de comando. Isso registra o SQLdiag para ser executado como um serviço. O nome do serviço SQLdiag é SQLDIAG. Quaisquer outros argumentos especificados na linha de comando ao registrar o SQLDiag como um serviço são preservados e reutilizados quando o serviço é iniciado.

Para alterar o nome de serviço padrão SQLDIAG, use o argumento de linha de comando /A para especificar outro nome. SQLdiag automaticamente antepõe DIAG$ a qualquer nome de instância do SQLdiag especificada com /A para criar nomes de serviço sensatos.

Para cancelar o registro do serviço SQLDIAG

Para cancelar o registro do serviço, especifique o argumento /U. Cancelar o registro do SQLdiag como um serviço também exclui as chaves do Registro do Windows do serviço.

Para iniciar ou reiniciar o serviço SQLDIAG

Para iniciar ou reiniciar o serviço SQLDIAG, execute SQLDiag START da linha de comando.

Se você estiver executando várias instâncias do SQLdiag usando o argumento /A, será possível passar o nome de instância do SQLdiag na linha de comando quando você iniciar o serviço. Por exemplo, para iniciar uma instância do SQLdiag nomeada Instância 1, use a seguinte sintaxe:

SQLDIAG START /A Instance1

Você também pode usar o comando net start para iniciar o serviço SQLDIAG.

Quando você reinicia o SQLdiag, ele substitui o conteúdo na pasta de saída atual. Para evitar isso, especifique /N 2 na linha de comando para renomear a pasta de saída quando o utilitário iniciar.

Não há suporte para pausar o serviço SQLdiag.

Executando várias instâncias do SQLdiag

Execute várias instâncias do SQLdiag no mesmo computador especificando /ASQLdiag_application_name na linha de comando. Isso é útil para coletar conjuntos diferentes de diagnósticos simultaneamente da mesma instância do SQL Server. Por exemplo, você pode configurar uma instância nomeada do SQLdiag para executar continuamente coleção de dados leve. Então, se um problema específico ocorrer no SQL Server, você poderá executar a instância padrão do SQLdiag para coletar diagnósticos para o problema ou reunir um conjunto de diagnósticos que o Serviço de Suporte Técnico da Microsoft solicitou para diagnosticar um problema.

Coletando dados de diagnóstico de instâncias do SQL Server clusterizado

O SQLdiag oferece suporte à coleta de dados de diagnóstico de instâncias do SQL Server clusterizadas. Para coletar diagnósticos de instâncias clusterizadas do SQL Server, tenha certeza que "." esteja especificado para o atributo name do elemento <Machine> no arquivo de configuração SQLDiag.Xml e não especifique o argumento /G na linha de comando. Por padrão, "." é especificado para o atributo name no arquivo de configuração e o argumento /G é desativado. Normalmente, você não precisa editar o arquivo de configuração ou alterar a linha de comando ao coletar a partir de uma instância do SQL Server clusterizada.

When "." é especificado com o nome do computador, o SQLdiag detecta que ele está sendo executado em um cluster e simultaneamente recupera informações de diagnóstico de todas as instâncias virtuais do SQL Server que estão instaladas no cluster. Se você quiser coletar informações de diagnóstico de apenas uma instância virtual do SQL Server que está sendo executada em um computador, especifique aquele SQL Server virtual para o atributo name do elemento <Machine> no SQLDiag.Xml.

ObservaçãoObservação

Para coletar informações de rastreamento do SQL Server Profiler de instâncias do SQL Server clusterizadas, os compartilhamentos administrativos (ADMIN$) devem estar habilitados no cluster.

Consulte também

Conceitos