S’applique à
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptômes

Cette mise à jour inclut les améliorations suivantes pour la prise en charge du délai d’expiration du bail De Microsoft SQL Server AlwaysOn :

  • Le message Délai d’expiration du bail affiche et journalise désormais l’heure actuelle et l’heure de renouvellement attendue.

  • Un nouveau message d’erreur a été ajouté pour les workers de bail qui indique clairement la raison du délai d’expiration du bail.

  • Un nouvel événement étendu et une nouvelle mémoire tampon en anneau pour les workers de bail ont été ajoutés. Celles-ci indiquent clairement les étapes du bail.

Résolution

Le problème a été résolu pour la première fois dans les Service Packs suivants pour SQL Server.

Pour plus d’informations sur SQL Server 2012 Service Pack 3 (SP3), consultez bogues corrigés dans SQL Server 2012 Service Pack 3.

Service Pack 2 pour SQL Server pour SQL Server 2014À propos des Service Packs pour SQL Server Les packs de service sont cumulatifs. Chaque nouvelle version contient tous les correctifs fournis dans les Service Packs précédents et tous les nouveaux correctifs. Nous vous recommandons d’appliquer le dernier Service Pack et la dernière mise à jour cumulative pour ce Service Pack. Il n'est donc pas nécessaire d'installer la version antérieure d'un Service Pack avant d'installer la dernière version disponible. Utilisez le tableau 1 de l’article suivant pour obtenir plus d’informations sur le dernier Service Pack et la dernière mise à jour cumulative.Comment déterminer la version, l’édition et le niveau de mise à jour de SQL Server et de ses composants

Informations supplémentaires

Pour fournir des informations supplémentaires, de nouveaux messages d’erreur ont été ajoutés à SQL Server. Le tableau suivant répertorie et explique chacun d’eux.

Erreur

Message d'erreur

Cause

Correctives

19419

Le renouvellement du bail entre le groupe de disponibilité ' %.*ls' et le cluster de basculement Windows Server a échoué, car le bail existant n’est plus valide.

Le travail de bail côté SQL Server n’a pas été planifié à temps pour traiter le signal d’événement du cluster.

Vérifiez l’utilisation du processeur sur le serveur, car SQL Server worker de bail semble être affamé.

19420

Le groupe de disponibilité ' %.*ls' est explicitement invité à arrêter le renouvellement du bail.

Le renouvellement du bail s’arrête dans le cadre de la mise hors connexion du groupe de disponibilité. Il s’agit d’informations uniquement.

19421

Le renouvellement du bail entre le groupe de disponibilité ' %.*ls' et le cluster de basculement Windows Server a échoué, car le renouvellement n’a pas eu lieu dans l’intervalle du bail.

L’assistant de bail côté cluster n’a pas signalé le SQL Server worker de bail à temps.

Vérifiez la ressource de groupe de disponibilité correspondante dans le cluster WSFC pour voir si elle a signalé une erreur.

19422

Le renouvellement du bail entre le groupe de disponibilité ' %.*ls' et le cluster de basculement Windows Server a échoué en raison d’une erreur windows avec le code d’erreur (' %d').

Le travail de bail côté SQL Server n’a pas pu renouveler le bail en raison d’une erreur windows.

Vérifiez le code d’erreur windows et effectuez l’action corrective.

19423

Le bail du groupe de disponibilité ' %.*ls' n’est plus valide pour démarrer le processus de renouvellement du bail.

Lorsque le travailleur du bail a commencé à traiter le temps de bail excédentaire fourni par l’appel en ligne, le bail était déjà arrivé à expiration. Cela peut se produire en raison de problèmes de planification.

Vérifiez l’utilisation du processeur sur le serveur, car SQL Server worker de bail semble être affamé.

19424

Le worker de bail du groupe de disponibilité ' %.*ls' met désormais en veille la durée de bail excédentaire ( %u ms) fournie en ligne. Il s’agit d’un message d’information uniquement. Aucune action de l’utilisateur n’est requise.

Information. Temps en ligne supplémentaire alloué au démarrage du thread de renouvellement de bail et dans le cadre de la routine en ligne du groupe de disponibilité.

Exemple d’erreur 19419 : si vous utilisez un débogueur pour l’attacher à SQL Server, il interrompt la maintenance des threads dans le processus SQL Server jusqu’à ce que vous repreniez le processus SQL Server. Lorsque vous reprenez SQL Server, les éléments suivants sont signalés dans le journal des erreurs SQL Server :

<Date Et heure> Erreur du serveur : 19419, Gravité : 16, État : 1. <Date Heure> Server Windows Server cluster de basculement n’a pas reçu de signal d’événement de processus de SQL Server groupe de disponibilité d’hébergement « ag » dans le délai d’expiration du bail. <Date Et heure> Erreur du serveur : 19407, Gravité : 16, État : 1. <Date Et heure> Serveur Le bail entre le groupe de disponibilité « ag » et le cluster de basculement Windows Server a expiré. Un problème de connectivité s’est produit entre le instance de SQL Server et le cluster de basculement Windows Server. Pour déterminer si le groupe de disponibilité bascule correctement, case activée la ressource de groupe de disponibilité correspondante dans le cluster de basculement Windows Server. <Date Time> Server AlwaysOn : le réplica local du groupe de disponibilité « ag » passe hors connexion, car le bail a expiré ou le renouvellement du bail a échoué. Il s’agit d’un message d’information uniquement. Aucune action de l’utilisateur n’est requise. <Date Et heure> Serveur L’état du réplica de disponibilité local dans le groupe de disponibilité « ag » est passé de « PRIMARY_NORMAL » à « RESOLVING_NORMAL ». L’état réplica a changé en raison d’un démarrage, d’un basculement, d’un problème de communication ou d’une erreur de cluster. Pour plus d’informations, consultez le tableau de bord du groupe de disponibilité, SQL Server journal des erreurs, Windows Server console de gestion du cluster de basculement ou Windows Server journal du cluster de basculement.

L’erreur 19419 est retournée, car SQL Server n’a pas répondu au service de cluster. Vous pouvez également recevoir un message d’erreur d’expiration de bail (19407) ainsi que l’erreur 19419.Exemple d’erreur 19424 : Voici le message de durée de bail excédentaire signalé juste avant la transition du groupe de disponibilité vers le rôle PRIMAIRE :

<Date Time> Server Le worker de bail du groupe de disponibilité « ag » met désormais en veille la durée de bail excédentaire (164766 ms) fournie en ligne. Il s’agit d’un message d’information uniquement. Aucune action de l’utilisateur n’est requise. <Date Et heure> Serveur L’état du réplica de disponibilité local dans le groupe de disponibilité « ag » est passé de « PRIMARY_PENDING » à « PRIMARY_NORMAL ». L’état réplica a changé en raison d’un démarrage, d’un basculement, d’un problème de communication ou d’une erreur de cluster. Pour plus d’informations, consultez le tableau de bord du groupe de disponibilité, SQL Server journal des erreurs, Windows Server console de gestion du cluster de basculement ou Windows Server journal du cluster de basculement.

Les availability_group_lease_expired et hadr_ag_lease_renewal XEvents ont été améliorés, avec l’ajout de points de données qui fournissent plus d’informations sur l’état du bail. Le tableau suivant décrit les améliorations apportées à ces XEvents :

XEvent

Nouvelle colonne

Description

availability_group_lease_expired

current_time

Heure à laquelle le bail a expiré

availability_group_lease_expired

new_timeout

Délai d’expiration : lorsque availability_group_lease_expired est déclenché, current_time est supérieur à new_timeout

availability_group_lease_expired

État

Phases de bail : consultez le tableau Phases de bail ci-dessous

hadr_ag_lease_renewal

État

hadr_ag_lease_renewal

hadr_ag_lease_renewal

error_code

Si l’état est HadrLeaseRenewal_FailedWithWindowsError, error_code est le code d’erreur Windows associé à l’échec

Phases de bail et définitionsLe tableau suivant répertorie les phases de bail possibles et explique leurs fonctions :

Nom de la phase

Description

HadrLeaseRenewal_LeaseWorkerStarted

Le thread de travail de bail a démarré.

HadrLeaseRenewal_StartedExcessLeaseSleep

Début du bail excédentaire. Les phases de bail excédentaire documentent le début du thread de bail pendant la phase en ligne du groupe de disponibilité.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Nous échouons le bail excédentaire si le bail a déjà expiré.

HadrLeaseRenewal_SkipExcessSleep

Nous ignorons le bail excédentaire si la durée disponible pour la mise en veille est inférieure à l’intervalle du bail. Il n’est pas nécessaire de passer par le bail excédentaire juste commencer le processus de poignée de main.

HadrLeaseRenewal_ExcessSleepSucceeded

Le bail excédentaire a réussi.

HadrLeaseRenewal_RenewSucceeded

Nous devrions voir cela à chaque renouvellement.

HadrLeaseRenewal_LeaseNotValid

Équivalent de l’erreur : 19419 Windows Server cluster de basculement n’a pas reçu de signal d’événement de processus de SQL Server groupe de disponibilité d’hébergement ' %.*ls' dans le délai d’expiration du bail.

HadrLeaseRenewal_StopLeaseRenewal

Vous devriez voir cela pendant un événement de basculement.

HadrLeaseRenewal_LeaseExpired

Équivalent à l’erreur : 19421 SQL Server groupe de disponibilité d’hébergement ' %.*ls' n’a pas reçu de signal d’événement de processus du cluster de basculement Windows Server dans le délai d’expiration du bail.

HadrLeaseRenewal_FailedWithWindowsError

Le renouvellement du bail a échoué en raison d’une erreur windows.

Pour plus d’informations, consultez Amélioration des diagnostics du délai d’expiration du bail du groupe de disponibilité AlwaysOn.Pour plus d’informations sur le délai d’expiration du bail, consultez How It Works : SQL Server AlwaysOn Lease Timeout.

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.