Partilhar via


Gere e analise o CLUSTER.LOG para um grupo de disponibilidade Always On

Aplica-se a:Servidor SQL

Como um recurso de cluster de failover, há interações externas entre o SQL Server, o cluster WSFC (serviço de Cluster de Failover do Windows Server) e a DLL de recurso do SQL Server (hadrres.dll), que não podem ser monitoradas no SQL Server. O log do WSFC, CLUSTER. LOG, pode diagnosticar problemas no cluster WSFC ou na DLL de recurso do SQL Server.

Gerar log de cluster

Você pode gerar os logs de cluster de duas maneiras:

  1. Utilize o comando cluster /log /g no prompt de comando. Este comando gera os logs de cluster para o diretório \windows\cluster\reports em cada nó WSFC. A vantagem desse método é que você pode especificar o nível de detalhe nos logs gerados usando a /level opção. A desvantagem é que você não pode especificar o diretório de destino para os logs de cluster gerados. Para obter mais informações, consulte Como criar o cluster.log no cluster de failover do Windows Server 2008.

  2. Use o cmdlet Get-ClusterLog PowerShell. A vantagem deste método é que poderá gerar o log de cluster de todos os nós para um diretório de destino no nó onde executa o cmdlet. A desvantagem é que você não pode especificar o nível de detalhe nos logs gerados.

Os comandos do PowerShell a seguir geram os logs de cluster de todos os nós do cluster dos últimos 15 minutos e os colocam no diretório atual. Execute os comandos em uma janela do PowerShell com privilégios administrativos.

Import-Module FailoverClusters   
Get-ClusterLog -TimeSpan 15 -Destination .  

Verbosidade de log sempre ativada

Você pode aumentar o detalhamento dos logs no CLUSTER.LOG para um grupo de disponibilidade. Para modificar a verbosidade, siga as etapas abaixo:

  1. No menu Início, abra o Gestor de Cluster de Failover.

  2. Expanda o seu cluster e o nó Serviços e aplicativos, depois clique no nome do grupo de disponibilidade.

  3. No painel de detalhes, clique com o botão direito do mouse no recurso do grupo de disponibilidade e clique em Propriedades.

  4. Clique na guia Propriedades .

  5. Modifique a propriedade VerboseLogging . Por padrão, VerboseLogging é definido para 0 que relata informações, avisos e erros. VerboseLogging pode ser definido de 0 para 2.

  6. Clique em OK.

  7. Clique com o botão direito do rato no recurso do grupo de disponibilidade novamente e clique em Colocar este recurso offline.

  8. Clique com o botão direito do rato no recurso do grupo de disponibilidade novamente e clique em Colocar este recurso online.

Eventos de recursos do grupo de disponibilidade

A tabela abaixo mostra os diferentes tipos de eventos que você pode ver no CLUSTER. LOG que pertencem ao recurso do grupo de disponibilidade. Para obter mais informações sobre o Subsistema de Hospedagem de Recursos (RHS) e o Monitor de Controle de Recursos (RCM) no WSFC, consulte Subsistema de Hospedagem de Recursos (RHS) em Clusters de Failover do Windows Server 2008.

Identificador Fonte Exemplo de CLUSTER.LOG
Mensagens prefixadas com [RES] e [hadrag] hadrres.dll (DLL de recurso Always On) 00002cc4.00001264::2011/08/05-13:47:42.543 INFO [RES] Grupo de Disponibilidade do SQL Server <ag>: [hadrag] Pedido offline.

00002cc4.00003384::2011/08/05-13:47:42.558 ERR [RES] Grupo de Disponibilidade <do SQL Server ag>: [hadrag] Thread de concessão encerrado

00002cc4.00003384::2011/08/05-13:47:42.605 INFO [RES] Grupo de Disponibilidade <do SQL Server ag>: [hadrag] Instrução SQL gratuita

00002cc4.00003384::2011/08/05-13:47:42.902 INFO [RES] Grupo de Disponibilidade do SQL Server <ag>: [hadrag] Desconectar do SQL Server
Mensagens prefixadas com [RHS] RHS.EXE (Resource Hosting Subsystem, processo de hospedagem de hadrres.dll) 00000c40.00000a34::2011/08/10-18:42:29.498 INFO [RHS] Recurso ag ficou offline. A RHS está prestes a comunicar o estado dos recursos ao RCM.
Mensagens prefixadas com [RCM] Monitor de Controle de Recursos (Serviço de Cluster) 000011d0.00000f80::2011/08/05-13:47:42.480 INFO [RCM] rcm::RcmGroup::Move: Primeiro, colocar o grupo 'ag' offline...

000011d0.00000f80::2011/08/05-13:47:42.496 INFO [RCM] TransitionToState(ag) Online-->ChamadaOfflineEmitida.
RcmApi/ClusAPI Uma chamada de API, o que significa principalmente que o SQL Server está solicitando a ação 000011d0.00000f80::2011/08/05-13:47:42.465 INFO [RCM] rcm::RcmApi::MoveGroup: (ag, 2)

Depurar DLL de recurso Always On isoladamente

É uma prática recomendada de depuração configurar o cluster para executar a DLL de recurso Always On (hadrres.dll), de forma isolada das outras DLLs de recurso. Por padrão, o cluster WSFC executa todas as DLLs de recursos em uma única instância do rhs.exe. Isso faz com que todos os recursos dentro do cluster compartilhem a mesma instância rhs.exe. Quando o utilizador tenta depurar hadrres.dll com uma ferramenta de depuração, ao pausar em um ponto de interrupção, pode fazer com que outros recursos que compartilham a instância rhs.exe também sejam pausados. Além disso, quando você executa vários grupos de disponibilidade no mesmo cluster, a mesma configuração pode fazer com que todos os grupos de disponibilidade sejam pausados quando você pausa em um ponto de interrupção para depurar um grupo de disponibilidade.

Para isolar um grupo de disponibilidade de outras DLLs de recursos de cluster, incluindo outros grupos de disponibilidade, faça o seguinte para executar hadrres.dll dentro de um processo de rhs.exe separado:

  1. Abra o Editor do Registro e navegue até a seguinte chave: HKEY_LOCAL_MACHINE\Cluster\Resources. Esta chave contém as chaves para todos os recursos, cada um com um GUID diferente.

  2. Localize a chave de recurso que contém um valor Name que corresponde ao nome do seu grupo de disponibilidade.

  3. Altere o valor SeparateMonitor para 1.

  4. Reinicie o serviço clusterizado para seu grupo de disponibilidade no cluster WSFC.