Aprimoramentos para suporte de tempo limite de concessão do AlwaysOn do SQL Server no SQL Server 2012 e 2014

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3112363
Sintomas
Esta atualização inclui os seguintes aprimoramentos de capacidade de suporte do Microsoft SQL Server AlwaysOn tempo limite de concessão:
  • A mensagem de tempo limite de concessão agora exibe e registra o tempo atual e o tempo de renovação esperada.
  • Uma nova mensagem de erro foi adicionada para trabalhadores de concessão que indique claramente o motivo para o tempo limite de concessão.
  • Foram adicionados um novo evento estendido e um novo buffer de anel para trabalhadores de concessão. Eles indicam claramente os estágios de concessão.
Resolução
O problema foi corrigido primeiramente no seguintes Service Packs para o SQL Server.
Para obter mais informações sobre o SQL Server 2012 Service Pack 3 (SP3), consulte bugs corrigidos no SQL Server 2012 Service Pack 3.

Sobre os Service packs do SQL Server

Service packs são cumulativos. Cada service pack novo contém todas as correções que estão em service packs anteriores, junto com qualquer nova correção. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a tabela 1 no seguinte artigo para obter mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Como determinar a versão, o nível de edição e atualização do SQL Server e seus componentes
Mais Informações
Para fornecer um esclarecimento adicional, novas mensagens de erro foram adicionadas ao SQL Server. A tabela a seguir lista e explica cada um deles.

ErroMensagem de erroCausaAção corretiva
19419A renovação de concessão entre o grupo de disponibilidade ' %. * ls' e o Cluster de Failover do Windows Server falhou porque a concessão existente não é mais válida.O trabalho de concessão no lado do SQL Server não obter agendado no tempo para processar o evento de sinal do cluster.Verificar a utilização da CPU no servidor como o SQL Server trabalhador concessão parece privação.
19420O grupo de disponibilidade ' %. * ls' é explicitamente solicitados a interromper a renovação de concessão.A renovação de concessão está parando como parte de colocar o grupo de disponibilidade offline. Isso é apenas informativo.
19421A renovação de concessão entre o grupo de disponibilidade ' %. * ls' e o Cluster de Failover do Windows Server falhou porque a renovação não ocorre dentro do intervalo de concessão.O auxiliar de concessão no lado do cluster não sinalizar o trabalho de concessão do SQL Server no momento.Verifique o recurso de grupo de disponibilidade correspondente no cluster WSFC para ver se ele qualquer erro relatado.
19422A renovação de concessão entre o grupo de disponibilidade ' %. * ls' e o Cluster de Failover do Windows Server falhou devido a um erro do windows com o código de erro ('%d'').O trabalho de concessão no lado do SQL Server não pôde renová-lo devido a um erro do windows.Verifique o código de erro do windows e tomar uma ação corretiva.
19423A concessão do grupo de disponibilidade ' %. * concessão dos ls não é mais válida para iniciar o processo de renovação de concessão.Quando o trabalho de concessão iniciado o processamento do tempo de concessão em excesso fornecido pela chamada on-line a concessão já expirou. Isto pode ter acontecido devido a problemas de agendamento.Verificar a utilização da CPU no servidor como o SQL Server trabalhador concessão parece privação.
19424O trabalho de concessão do grupo de disponibilidade ' %. * ls' agora está aguardando o tempo de concessão em excesso (%u ms) fornecido durante on-line. Isso é apenas uma mensagem informativa. Nenhuma ação é necessária.Informativo. Tempo online extra alocado ao iniciar o thread de renovação de concessão e como parte da rotina de grupo de disponibilidade on-line.

Exemplo de erro de 19419: Se você usar um depurador para anexar ao SQL Server, ele interrompe qualquer manutenção de segmentos no processo do SQL Server enquanto você não retomar o processo do SQL Server. Quando você reiniciar o SQL Server, o seguinte é relatado no log de erros do SQL Server:

<Date time=""></Date>Erro de servidor: 19419, gravidade: 16, estado: 1.
<Date time=""> </Date>Server Cluster de Failover do Windows Server não recebeu um sinal de evento do processo do SQL Server que hospeda o grupo de disponibilidade 'ag' dentro do tempo limite de concessão.
<Date time=""> </Date>Erro de servidor: 19407, gravidade: 16, estado: 1.
<Date time=""> </Date>Server expirou a concessão entre o grupo de disponibilidade 'ag' e o Cluster de Failover do Windows Server. Ocorreu um problema de conectividade entre a instância do SQL Server e o Cluster de Failover do Windows Server. Para determinar se o grupo de disponibilidade é failover corretamente, verifique se o recurso de grupo de disponibilidade correspondente no Cluster de Failover do Windows Server.
<Date time=""> </Date>Server AlwaysOn: A réplica local do grupo de disponibilidade 'ag' é ficar offline porque tanto a concessão expirou ou falha de renovação de concessão. Isso é apenas uma mensagem informativa. Nenhuma ação é necessária.
<Date time=""> </Date>Server o estado da réplica no grupo de disponibilidade 'ag' disponibilidade local foi alterado de 'PRIMARY_NORMAL' para 'RESOLVING_NORMAL'. O estado de réplica alterado devido a inicialização, um failover, um problema de comunicação ou um erro de cluster. Para obter mais informações, consulte o painel do grupo de disponibilidade, o log de erros do SQL Server, o console de gerenciamento de Cluster de Failover do Windows Server ou o log de Cluster de Failover do Windows Server.

O erro 19419 é retornado porque o SQL Server não respondeu ao serviço de cluster. Você também pode receber uma mensagem de erro de tempo limite de concessão (19407) juntamente com o erro 19419.

Exemplo de erro 19424: O seguinte é a mensagem de tempo de concessão em excesso é informada antes das transições de grupo de disponibilidade para a função principal:

<Date time=""> </Date>Server o trabalho de concessão do grupo de disponibilidade 'ag' agora está aguardando o tempo de concessão em excesso (ms 164766) fornecido durante on-line. Isso é apenas uma mensagem informativa. Nenhuma ação é necessária.
<Date time=""> </Date>Server o estado da réplica no grupo de disponibilidade 'ag' disponibilidade local foi alterado de 'PRIMARY_PENDING' para 'PRIMARY_NORMAL'. O estado de réplica alterado devido a inicialização, um failover, um problema de comunicação ou um erro de cluster. Para obter mais informações, consulte o painel do grupo de disponibilidade, o log de erros do SQL Server, o console de gerenciamento de Cluster de Failover do Windows Server ou o log de Cluster de Failover do Windows Server.

O availability_group_lease_expired e o hadr_ag_lease_renewal XEvents foram aperfeiçoados, com a adição de pontos de dados que fornecem mais informações sobre a condição da concessão. A tabela a seguir descreve os aperfeiçoamentos para esses XEvents:

XEventNova colunaDescrição
availability_group_lease_expiredcurrent_timeHora em que a concessão expirou
availability_group_lease_expirednew_timeoutTempo limite tempo, quando availability_group_lease_expired é gerado, current_time é maior do que new_timeout
availability_group_lease_expiredestadoEstágios da concessão: Consulte tabela de estágios de concessão abaixo
hadr_ag_lease_renewalestadohadr_ag_lease_renewal
hadr_ag_lease_renewalerror_codeSe o estado é HadrLeaseRenewal_FailedWithWindowsError error_code é o código de erro do Windows associado a falha
Estágios de concessão e definições

A tabela a seguir lista os estágios de concessão possíveis e explica suas funções:

Nome do estágioDescrição
HadrLeaseRenewal_LeaseWorkerStartedSegmento de trabalho iniciado da concessão.
HadrLeaseRenewal_StartedExcessLeaseSleepIniciando a concessão em excesso. Estágios de concessão em excesso do documento no início do thread de concessão durante a fase do grupo de disponibilidade on-line.
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLeasePodemos falhar a concessão em excesso se a concessão já expirou.
HadrLeaseRenewal_SkipExcessSleepIgnoramos a concessão em excesso se a duração disponível no estado de suspensão é menor que o intervalo de concessão. Não há necessidade de percorrer o processo de shake mão começou a concessão em excesso.
HadrLeaseRenewal_ExcessSleepSucceededÊxito da concessão em excesso.
HadrLeaseRenewal_RenewSucceededVeremos que isso com cada renovação.
HadrLeaseRenewal_LeaseNotValidEquivalente ao erro: 19419

Cluster de Failover do Windows Server não recebeu um sinal de evento do processo do SQL Server que hospeda o grupo de disponibilidade ' %. * ls' dentro do tempo limite de concessão.
HadrLeaseRenewal_StopLeaseRenewalVocê o verá durante um evento de failover.
HadrLeaseRenewal_LeaseExpiredEquivalente ao erro: 19421

O grupo de disponibilidade do SQL Server host ' %. * ls' não recebeu um sinal de evento de processo do Cluster de Failover do Windows Server dentro do período de tempo limite de concessão.
HadrLeaseRenewal_FailedWithWindowsErrorRenovação de concessão falha devido a um erro do windows.

Para obter mais informações, consulte O grupo de disponibilidade do AlwaysOn concessão Timeout diagnósticos aprimorados.

Para obter mais informações sobre o tempo limite de concessão, consulte Como funciona: SQL Server AlwaysOn tempo limite de concessão.
Situação
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Propriedades

ID do Artigo: 3112363 - Última Revisão: 07/12/2016 01:31:00 - Revisão: 4.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3112363 KbMtpt
Comentários