Compartilhar via


Solucionar problemas do Utilitário do SQL Server

A solução de problemas do Utilitário do SQL Server pode incluir a resolução de uma operação com falha para registrar uma instância do SQL Server com um UCP, a solução de problemas de coleta de dados com falha, resultando em ícones cinzas na exibição de lista de instâncias gerenciadas em um UCP, mitigação de gargalos de desempenho ou resolução de problemas de integridade de recursos. Para obter mais informações sobre como mitigar problemas de integridade de recursos identificados por um UCP do SQL Server, consulte Solucionar problemas do SQL Server Resource Health (Utilitário do SQL Server).

Operação com falha para registrar uma instância do SQL Server em um utilitário do SQL Server

Se você se conectar à instância do SQL Server para se registrar usando a Autenticação do SQL Server e especificar uma conta proxy que pertence a um domínio do Active Directory diferente do domínio em que o UCP está localizado, a validação da instância será bem-sucedida, mas a operação de registro falhará com a seguinte mensagem de erro:

Ocorreu uma exceção ao executar uma instrução ou um lote Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

Informações adicionais: não foi possível obter informações sobre o grupo/usuário do Windows NT '<DomainName\AccountName>', o código de erro 0x5. (Microsoft SQL Server, Erro: 15404)

Esse problema ocorre no seguinte cenário de exemplo:

  1. O UCP é membro do "Domain_1".

  2. Uma relação de confiança de domínio unidirecional está em vigor: ou seja, "Domain_1" não é confiável por "Domain_2", mas "Domain_2" é confiável por "Domain_1".

  3. A instância do SQL Server para se registrar no Utilitário do SQL Server também é membro do "Domain_1".

  4. Durante a operação de registro, conecte-se à instância do SQL Server para se registrar usando "sa". Especifique uma conta proxy de "Domain_2".

  5. A validação é bem-sucedida, mas o registro falha.

A solução alternativa para esse problema, usando o exemplo acima, é conectar-se à instância do SQL Server para se registrar no Utilitário do SQL Server usando "sa" e fornecer uma conta proxy de "Domain_1".

Falha na validação WMI

Se o WMI não estiver configurado corretamente em uma instância do SQL Server, as operações Criar UCP e Registrar Instância Gerenciada exibirão um aviso, mas a operação não será bloqueada. Além disso, se você alterar a configuração da conta do SQL Server Agent para que o SQL Server Agent não tenha permissão para classes WMI necessárias, a coleta de dados na instância gerenciada afetada do SQL Server não será carregada no UCP. Isso resulta em ícones cinzas no UCP.

A coleta de dados com falha resulta em ícones de status cinza na exibição de lista UCP para instâncias gerenciadas afetadas do SQL Server. O histórico de trabalhos na instância gerenciada do SQL Server mostra que sysutility_mi_collect_and_upload falha na etapa 2 (Dados de estágio coletados do script do PowerShell).

As mensagens de erro simplificadas são:

A execução do comando foi interrompida porque a variável de shell "ErrorActionPreference" está definida como Parar: Acesso negado.

ERRO: <Data/hora (MM/DD/YYYY HH:MM:SS)>: exceção capturada ao coletar propriedades da CPU. Uma consulta WMI pode ter falhado. AVISO.

Para resolver esse problema, verifique as seguintes configurações:

  • No Windows Server 2003, o serviço SQL Server Agent deve fazer parte do grupo monitoramento de desempenho do Windows na instância gerenciada do SQL Server.

  • O serviço WMI deve ser habilitado e configurado na instância gerenciada do SQL Server.

  • O repositório WMI pode estar corrompido na instância gerenciada do SQL Server.

  • A biblioteca de desempenho pode estar ausente ou corrompida na instância gerenciada do SQL Server.

Para verificar se a instância especificada do SQL Server está configurada corretamente para relatar dados ao UCP, verifique se as seguintes classes estão disponíveis na instância especificada do SQL Server e se estão acessíveis à conta de serviço do SQL Server Agent:

  • Win32_MountPoint

  • Win32_PerfRawData_PerfProc_Process

  • Win32_PerfRawData_PerfOS_Processor

  • Win32_Processor

  • Win32_Volume

  • Win32_LogicalDisk

Você pode usar o cmdlet Get-WmiObject PowerShell em cada uma das classes para verificar se cada classe está acessível. Execute os seguintes cmdlets na instância gerenciada do SQL Server:

Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null  
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null  
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null  

Para obter mais informações sobre como solucionar problemas do WMI, consulte Solução de problemas do WMI. Observe que as consultas nessas operações do Utilitário do SQL Server estão sendo executadas localmente, de modo que o DCOM e o conteúdo de solução de problemas remotos não se aplicam.

Coleta de dados com falha

Se os eventos de coleta de dados do Utilitário do SQL Server falharem, considere as seguintes possibilidades:

  • Não altere nenhuma propriedade da coleção "Informações do Utilitário" definida em uma instância gerenciada do SQL Server e não ative/desative manualmente a coleta de dados, pois a coleta de dados é controlada por um trabalho do agente do Utilitário.

  • Validação WMI falhou ou não é suportada. Para obter mais informações, consulte a seção Validação WMI com falha anteriormente neste tópico.

  • Atualize os dados na exibição de lista de instâncias gerenciadas, pois os dados nos pontos de vista do Utilitário do SQL Server não são atualizados automaticamente. Para atualizar dados, clique com o botão direito do mouse no nó Instâncias Gerenciadas no painel Navegação do Gerenciador de Utilitários , selecione Atualizar ou clique com o botão direito do mouse no nome da instância do SQL Server no modo de exibição de lista e selecione Atualizar. Observe que, após a inscrição de uma instância do SQL Server em um UCP, pode levar até 30 minutos para que os dados apareçam pela primeira vez no painel e nas visões do painel de conteúdo do Gerenciador de Utilitários.

  • Use o SQL Server Configuration Manager para verificar se a instância do SQL Server está em execução.

  • Se a coleta de dados ou o carregamento de dados falhar devido a problemas de tempo limite, atualize a função dbo.fn_sysutility_mi_get_collect_script() no banco de dados MSDB. Especificamente, na função "Invoke-BulkCopyCommand()" adicione a linha:

    $bulkCopy.BulkCopyTimeout=180  
    

    O valor padrão do tempo limite é de 30 segundos.

  • Se a instância do SQL Server não estiver clusterizado, verifique se o serviço SQL Server Agent está em execução e se o serviço está definido para iniciar automaticamente no UCP e na instância gerenciada do SQL Server.

  • Verifique se uma conta válida está sendo usada para executar a coleta de dados na instância gerenciada do SQL Server. Por exemplo, a senha pode ter expirado. Se a senha de proxy tiver expirado, atualize as credenciais de senha no SSMS, da seguinte maneira:

    1. No Explorador de Objetos do SSMS, expanda o nó Segurança e depois expanda o nó Credenciais.

    2. Clique com o botão direito do mouse em UtilityAgentProxyCredential_<GUID> e selecione Propriedades.

    3. Na caixa de diálogo Propriedades da Credencial, atualize as credenciais conforme necessário para a credencial UtilityAgentProxyCredential_<GUID> .

    4. Clique em OK para confirmar a alteração.

  • O TCP/IP deve ser habilitado no UCP e na instância gerenciada do SQL Server. Habilite o TCP/IP por meio do SQL Server Configuration Manager.

  • O serviço SQL Server Browser no UCP deve ser iniciado e configurado para iniciar automaticamente. Se sua organização impedir o uso do serviço SQL Server Browser, use as seguintes etapas para permitir que uma instância gerenciada do SQL Server se conecte ao UCP:

    1. Na barra de tarefas do Windows na instância gerenciada do SQL Server, clique em Iniciar e clique em Executar....

    2. Digite "cliconfg.exe" no espaço fornecido e clique em OK.

    3. Se solicitado a permitir que "SQL Client Configuration Utility EXE" inicie, clique em "Continuar".

    4. Na caixa de diálogo Utilitário de Rede do Cliente do SQL Server , selecione a guia Alias e clique em Adicionar....

    5. Na caixa de diálogo Adicionar Configuração da Biblioteca de Rede :

    6. Especifique TCP/IP na lista de bibliotecas de rede.

    7. Especifique o ComputerName\InstanceName do UCP na caixa de texto Alias do Servidor .

    8. Especifique o ComputerName do UCP na caixa de texto Nome do Servidor .

    9. Desmarque a caixa de seleção Determinar dinamicamente a porta .

    10. Especifique o número da porta na qual o UCP está escutando na caixa de texto Número da porta.

    11. Clique em OK para salvar suas alterações.

    12. Repita essas etapas para cada instância gerenciada do SQL Server que se conecta a um UCP em que o serviço SQL Server Browser não está habilitado.

  • Verifique se as instâncias gerenciadas do SQL Server estão conectadas à rede.

  • Se houver bancos de dados com o mesmo nome, mas com diferentes configurações de sensibilidade a maiúsculas e minúsculas em uma instância gerenciada do SQL Server, a identificação do banco de dados e seus pontos de vista pode estar incorreta, resultando em falha na coleta de dados. Por exemplo, um banco de dados chamado "MYDATABASE" pode mostrar estados de integridade para um banco de dados chamado "MyDatabase". Nenhum erro é gerado neste cenário. A coleta de dados com falha também pode resultar de incompatibilidades de diferenciação de maiúsculas e minúsculas em outros objetos exibidos no UCP, como nomes de arquivo de banco de dados e grupo de arquivos.

  • Se uma instância gerenciada do SQL Server estiver hospedada em um computador Windows Server 2003, a conta de serviço do SQL Server Agent deverá pertencer ao grupo de segurança Usuários do Monitor de Desempenho ou ao grupo de administradores local. Caso contrário, a coleta de dados falhará com um erro de acesso negado. Para adicionar uma conta de serviço do SQL Server Agent ao grupo de segurança Usuários do Monitor de Desempenho, siga estas etapas:

    1. Abra o Gerenciamento de Computadores e, em seguida, Usuários e Grupos Locais e, em seguida, Grupos.

    2. Clique com o botão direito do mouse em Usuários do Monitor de Desempenho e selecione Adicionar ao Grupo.

    3. Clique em Adicionar.

    4. Insira a conta em que o serviço SQL Server Agent está em execução e clique em OK.

    5. Se a instância do SQL Server já tiver sido registrada com o UCP antes de adicionar o usuário a esse grupo, reinicie o serviço do SQL Server Agent.

Consulte Também

Recursos e tarefas do utilitário do SQL Server
Solucionar problemas do SQL Server Resource Health (Utilitário do SQL Server)