Diagnóstico e solução de problemas do cluster de failover
Este tópico contém informações sobre os seguintes problemas:
Etapas básicas da solução de problemas.
Recuperando-se de uma falha no cluster de failover.
Resolvendo os problemas mais comuns de cluster de failover.
Usando procedimentos armazenados estendidos e objetos COM.
Etapas básicas da solução de problemas
Ao trabalhar com cluster de failover do SQL Server, lembre-se de que o cluster de servidores consiste em uma instância de cluster de failover executada no Microsoft Cluster Services (MSCS). A instância do SQL Server pode estar hospedada por nós baseados no Microsoft MSCS que fornecem o Microsoft Server Cluster.
Se houver problemas nos nós que hospedam o cluster de servidores, eles poderão se manifestar na forma de problemas na instância do cluster de failover. Para examinar e resolver esses problemas, você deve solucionar os problemas de um cluster de failover do SQL Server na seguinte ordem:
Hardware: revise os logs de eventos de sistema do Microsoft Windows.
Sistema operacional: revise os logs de eventos de aplicativos e de sistema do Windows.
Rede: revise os logs de eventos de aplicativos e do sistema Windows. Verifique a configuração atual em comparação com a recomendada pelo artigo da Base de Dados de Conhecimento intitulado Recommended Private "Heartbeat" Configuration on a Cluster Server.
Segurança: revise os logs de eventos de aplicativos e de segurança do Windows.
MSCS: revise os logs de sistema, de eventos de aplicativo e de cluster do Windows.
SQL Server: execute os procedimentos de diagnóstico e solução de problemas normalmente depois de verificar se o hardware, o sistema operacional, a rede, a segurança e as bases do MSCS não apresentam problemas.
Recuperando-se de uma falha no cluster de failover
Normalmente, uma falha no cluster de failover resulta de uma destas duas causas:
Falha de hardware em um nó de um cluster que tem dois nós. Essa falha de hardware pode ter sido causada por uma falha na placa SCSI ou no sistema operacional.
Para se recuperar dela, remova o nó com problema do cluster de failover usando o programa de instalação do SQL Server, corrija a falha de hardware com o computer offline, coloque o computador para funcionar novamente e adicione o nó reparado de volta à instância do cluster de failover.
Para obter mais informações, consulte Como criar um novo cluster de failover do SQL Server (Instalação) e Como recuperar-se de falhas no cluster de failover no cenário 1.
Falha do sistema operacional. Neste caso, o nó está offline, mas o dano não é irreparável.
Para se recuperar de uma falha do sistema operacional, recupere o nó e teste o failover. Se a instância do SQL Server não executar o failover corretamente, você deverá usar o programa de instalação do SQL Server para remover oSQL Server do cluster de failover, fazer os reparos necessários, colocar o computador para funcionar novamente e adicionar o nó reparado de volta à instância do cluster de failover.
A recuperação de uma falha do sistema operacional dessa maneira pode ser demorada. Se a falha do sistema operacional puder ser recuperada facilmente, evite usar esta técnica.
Para obter mais informações, consulte Como criar um novo cluster de failover do SQL Server (Instalação) e Como recuperar-se de falhas no cluster de failover no cenário 2.
Resolvendo problemas comuns
A lista a seguir descreve problemas de uso comum e explica como resolvê-los.
Problema: uso incorreto da sintaxe de prompt de comando para instalar o SQL Server
Problema 1: é difícil diagnosticar problemas de instalação quando se usa a opção /qn no prompt de comando, pois a opção /qn suprime todas as caixas de diálogo e mensagens de erro da instalação. Se a opção /qn for especificada, todas as mensagens da instalação, inclusive as mensagens de erro, serão gravadas nos arquivos de log da instalação. Para obter mais informações sobre os arquivos de log, consulte Como exibir e ler arquivos de log da Instalação do SQL Server.
Resolução 1: use a opção /qb em vez da opção /qn. Se você usar a opção /qb, a UI básica de cada etapa será exibida, inclusive as mensagens de erro.
Problema: o SQL Server não pode fazer logon na rede depois que migra para outro nó
Problema 1: contas de serviço do SQL Server não conseguem fazer contato com um controlador de domínio.
Resolução 1: verifique nos logs de eventos se existem sinais de problemas de rede, como falhas de adaptador ou problemas de DNS. Verifique se você consegue executar ping no controlador de domínio.
Problema 2: senhas de contas de serviço do SQL Server não são idênticas em todos os nós do cluster ou o nó não reinicia um serviço do SQL Server que foi migrado de um nó com problema.
Resolução 2: altere as senhas de contas de serviço do SQL Server usando o SQL Server Configuration Manager. Se você não fizer isso e alterar as senhas de contas de serviço do SQL Server em um nó, também deverá alterar as senhas em todos os outros nós. O SQL Server Configuration Manager faz isso automaticamente.
Problema: o SQL Server não consegue acessar discos do cluster
Problema 1: firmware ou drivers do não são atualizados em todos os nós.
Resolução 1: verifique se todos os nós estão usando versões de firmware corretas e as mesmas versões de driver.
Problema 2: um nó não consegue recuperar discos do cluster que migraram de um nó com falha em um disco de cluster compartilhado com outra letra de unidade.
Resolução 2: as letras de unidade de disco dos discos de cluster devem ser iguais em ambos os servidores. Se não forem, verifique a instalação original do sistema operacional e do Microsoft Cluster Service (MSCS).
Problema: falha de um serviço do SQL Server provoca failover
Resolução: para impedir que um problema em serviços específicos provoque o failover do grupo do SQL Server, configure esses serviços usando o Administrador de Cluster do Windows, como segue:
- Desmarque a caixa de seleção Afetar o Grupo na guia Avançado da caixa de diálogo Propriedades de Texto Completo. Porém, se o SQL Server gerar um failover, o serviço de pesquisa de texto completo será reiniciado.
Problema: o SQL Server não inicia automaticamente
Resolução: use o Administrador de Cluster do MSCS para iniciar um cluster de failover automaticamente. O serviço SQL Server deve ser configurado para iniciar manualmente; o Administrador de Cluster deve ser configurado no MSCS para iniciar o serviço SQL Server. Para obter mais informações, consulte Gerenciando serviços.
Problema: o Nome de Rede está offline e você não pode se conectar ao SQL Server usando TCP/IP
Problema 1: o DNS falha quando o recurso de cluster está configurado para exigir DNS.
Resolução 1: corrija os problemas de DNS.
Problema 2: há um nome duplicado na rede.
Resolução 2: use NBTSTAT para localizar o nome duplicado e corrigir o problema.
Problema 3: o SQL Server não está se conectando usando Pipes Nomeados.
Resolução 3: para se conectar usando Pipes Nomeados, crie um alias usando o SQL Server Configuration Manager para se conectar ao computador apropriado. Por exemplo, se você tiver um cluster com dois nós (Nó A e Nó B) e uma instância do cluster de failover (Virtsql) com uma instância padrão, poderá se conectar ao servidor que está com o recurso Nome de Rede offline seguindo estas etapas:
Determine em qual nó o grupo que contém a instância do SQL Server está sendo executado usando o Administrador de Cluster. Neste exemplo, é o Nó A.
Inicie o serviço SQL Server nesse computador usando net start. Para obter mais informações sobre como usar net start, consulte Iniciando o SQL Server manualmente.
Inicie o SQL Server SQL Server Configuration Manager no Nó A. Veja o nome do pipe em que o servidor está escutando. Deve ser algo semelhante a \\.\$$\VIRTSQL\pipe\sql\query.
No computador cliente, inicie o SQL Server Configuration Manager.
Crie um alias SQLTEST1 para se conectar a este nome de pipe através de Pipes Nomeados. Para isso, digite Nó A como o nome de servidor e edite o nome de pipe para que seja \\.\pipe\$$\VIRTSQL\sql\query.
Conecte-se a esta instância usando o alias SQLTEST1 como o nome de servidor.
Problema: falha da instalação do SQL Server em um cluster com o erro 11001
Problema: uma chave do Registro órfã em [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster]
Resolução: verifique se o hive do Registro MSSQL.X não está sendo usado e exclua a chave do cluster.
Problema: Erro de Instalação do Cluster: "O instalador tem privilégios insuficientes para acessar este diretório: <unidade>\Microsoft SQL Server. A instalação não pode continuar. Efetue logon como administrador ou contate o administrador do sistema"
Problema: este erro é causado por uma unidade SCSI compartilhada que não foi particionada corretamente.
Resolução: recrie uma única partição no disco compartilhado seguindo estas etapas:
Exclua o recurso de disco do cluster.
Exclua todas as partições do disco.
Verifique nas propriedades do disco se o disco é um disco básico.
Crie uma partição no disco compartilhado, formate o disco e atribua a ele uma letra de unidade.
Adicione o disco ao cluster usando o Administrador de Cluster (cluadmin).
Execute a instalação do SQL Server.
Problema: aplicativos não inscrevem recursos do SQL Server em uma transação distribuída
Problema: como o Coordenador de Transações Distribuídas da Microsoft (MSDTC) não está totalmente configurado no Windows, é possível que os aplicativos não inscrevam recursos do SQL Server em uma transação distribuída. Esse problema pode afetar servidores vinculados, consultas distribuídas e procedimentos armazenados remotos que usam transações distribuídas. Para obter mais informações sobre como configurar o MS DTC, consulte Antes de instalar o cluster de failover.
Resolução: para evitar problemas desse tipo, você deve habilitar totalmente os serviços MS DTC nos servidores em que o SQL Server está instalado e o MS DTC está configurado.
Para habilitar completamente o MS DTC, use as seguintes etapas:
No Painel de Controle, abra Ferramentas Administrativas e Gerenciamento do Computador.
No painel da esquerda do Gerenciamento do Computador, expanda Serviços e Aplicativos e clique em Serviços.
No painel da direita do Gerenciamento do Computador, clique com o botão direito do mouse em Coordenador de Transações Distribuídas e selecione Propriedades.
Na janela Coordenador de Transações Distribuídas, clique na guia Geral e clique em Parar para interromper o serviço.
Na janela Coordenador de Transações Distribuídas, clique na guia Logon e defina a conta de logon como NT AUTHORITY\NetworkService.
Clique em Aplicar e em OK para fechar a janela Coordenador de Transações Distribuídas. Feche a janela Gerenciamento do Computador. Feche a janela Ferramentas Administrativas.
Usando procedimentos armazenados estendidos e objetos COM
Quando você usa procedimentos armazenados estendidos com uma configuração de cluster de failover, todos os procedimentos armazenados estendidos devem ser instalados em um disco de cluster dependente do SQL Server. Isso garante que, quando um nó executar failover, os procedimentos armazenados estendidos ainda poderão ser usados.
Se os procedimentos armazenados estendidos usam componentes COM, o administrador deve registrar esses componentes em cada nó do cluster. As informações para carregar e executar componentes COM devem estar no Registro do nó ativo para que os componentes sejam criados. Caso contrário, as informações permanecerão no Registro do computador em que os componentes COM foram registrados primeiro.