Délai d’expiration de la connexion lorsque vous utilisez l’écouteur de groupe de disponibilité AlwaysOn avec le paramètre MultiSubnetFailover

S’applique à
Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Datacenter Windows Server 2008 R2 for Itanium-Based Systems Windows Server 2008 R2 Foundation Windows Server 2008 R2 Standard Windows Server 2008 R2 Web Edition Windows 7 Service Pack 1 Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Starter Windows 7 Ultimate

Symptômes

Lorsque vous essayez de vous connecter à Microsoft SQL Server 2012 via un écouteur de groupe de disponibilité AlwaysOn à partir d’une application cliente, un message d’erreur de délai d’ouverture de session peut s’afficher.

Par exemple, lorsque vous utilisez la commande SqlCmd, vous pouvez recevoir le message d’erreur suivant :

Remarque

Sqlcmd : Erreur : Microsoft SQL Native Client : Le délai de connexion a expiré.

Remarque

[Microsoft][SQL Server Native Client 11.0]Impossible de terminer le processus de connexion en raison d’un retard dans l’ouverture de la connexion au serveur

Lorsque vous utilisez une application Microsoft .NET Framework 3.5 ou Microsoft .NET Framework 4.0 à l’aide du fournisseur de données .NET Framework pour SQL Server, le message d’erreur suivant peut s’afficher :

Remarque

Expiration du délai d’attente. Le délai d'expiration s'est produit avant la fin de l'opération ou le serveur ne répond pas.
sur System.Data.SqlClient.SqlInternalConnection.OnError(Exception SqlException, Boolean breakConnection)
sur System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
sur System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
sur System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
sur System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
sur System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean& marsCapable)
sur System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover)
sur System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject, Boolean withFailover)
sur System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout)
sur System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
sur System.Data.SqlClient.SqlInternalConnectionTds..ctor(identity identité, SqlConnectionString connectionOptions, object providerInfo, string newPassword, String owningObject, Boolean redirectedUserInstance)

        
Remarque Si vous augmentez le délai d’expiration de la connexion à 30 secondes, l’application cliente prend environ 20 secondes pour se connecter correctement.

Ces symptômes se produisent lorsque les conditions suivantes sont remplies :

  • Votre groupe de disponibilité est défini dans un sous-réseau multi-réseau.
  • Vous avez spécifié le paramètre MultiSubnetFailover lorsque vous vous connectez.
  • Vous disposez d’un pilote de filtre TDI (Transport Driver Interface) actif qui est installé sur la station de travail de l’application cliente.

Cause

Ce problème se produit parce que le pilote Tdx.sys ne gère pas correctement la fonction Closesocket() lorsque la fonction est appelée au milieu d’une liaison TCP/IP.

Résolution

Informations sur le correctif logiciel

Un correctif logiciel pris en charge est disponible auprès de Microsoft. Toutefois, il est conçu uniquement pour corriger le problème décrit dans cet article. N'appliquez ce correctif qu'aux systèmes sur lesquels vous constatez le problème décrit dans le présent article. Ce correctif logiciel va peut-être subir des tests supplémentaires. Ainsi, si vous n'êtes pas sérieusement concerné par ce problème, il est recommandé d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.

Si le correctif logiciel est disponible en téléchargement, une section « Téléchargement de correctif logiciel disponible » figure en haut du présent article de la Base de connaissances. Si cette section est absente, procurez-vous le correctif logiciel auprès des services de Support technique Microsoft.

Remarque Si des problèmes supplémentaires surviennent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support s'appliqueront aux autres questions et problèmes du support non directement liés au correctif logiciel en question. Pour obtenir la liste complète des numéros de téléphone du service clientèle et du support technique Microsoft ou pour créer une demande de service distincte, visitez le site web Microsoft suivant :

http://support.microsoft.com/contactus/?ws=support Remarque Le formulaire « Téléchargement du correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si votre langue n'est pas répertoriée, cela signifie qu'aucun correctif logiciel n'est disponible pour cette langue.

Configuration requise

Pour appliquer ce correctif, vous devez exécuter Windows 7 SP1 ou Windows Server 2008 R2 SP1.

Pour plus d’informations sur la procédure permettant d’obtenir un Service Pack Windows 7 ou Windows Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

976932 Informations sur le Service Pack 1 pour Windows 7 et pour Windows Server 2008 R2

Informations sur le Registre

Pour appliquer ce correctif logiciel, vous n’avez pas besoin d’apporter de modifications au Registre.

Nécessité de redémarrer

Vous devez redémarrer l'ordinateur après l'application de ce correctif logiciel.

Informations sur le remplacement des correctifs logiciels

Ce correctif logiciel ne remplace pas un correctif logiciel publié précédemment.

Informations sur le fichier

La version internationale de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Les date et heure de ces fichiers s’affichent sur votre ordinateur local conformément à l’heure locale et en tenant compte de l’heure d’été. En outre, ces date et heure peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.

Notes d’informations sur les fichiers Windows 7 et Windows Server 2008 R2
D'importants correctifs pour Windows 7 et Windows Server 2008 R2 sont contenus dans les mêmes packages. Toutefois, les correctifs de la page Demande de correctifs sont répertoriées pour les deux systèmes d'exploitation. Pour demander le package de correctifs logiciels qui s'applique à l'un des systèmes d'exploitation ou aux deux, sélectionnez le correctif logiciel répertorié sous Windows 7/Windows Server 2008 R2 sur la page. Reportez-vous systématiquement à la liste des produits concernés pour déterminer le système d'exploitation auquel les différents correctifs logiciels s'appliquent.

  • Vous pouvez identifier les fichiers qui s'appliquent à un produit spécifique, SR_Level (RTM, SPn) et à un dossier (LDR, GDR) en examinant les numéros de version des fichiers tels qu'ils apparaissent dans le tableau suivant.

    Version Produit Jalon Service branch
    6.1.760
    1.22xxx
    Windows 7 et Windows Server 2008 R2 SP1 LDR
  • Les fichiers MANIFEST (.manifest) et MUM (.mum) qui sont installés pour chaque environnement sont répertoriés séparément dans la section « Informations sur les fichiers supplémentaires pour Windows 7 et Windows Server 2008 R2 ». Les fichiers MUM et MANIFEST, ainsi que les fichiers du catalogue de sécurité associés (.cat), sont extrêmement importants pour conserver l'état du composant mis à jour. Les fichiers du catalogue de sécurité pour lesquels les attributs ne sont pas répertoriés sont dotés d’une signature numérique Microsoft.

Pour toutes les versions x86 prises en charge de Windows 7

Nom de fichier Tdx.sys
Version de fichier 6.1.7601.22382
Taille du fichier 74 752
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 09:17
Plateforme x86

Pour toutes les versions x64 prises en charge de Windows 7 et Windows Server 2008 R2

Nom de fichier Tdx.sys
Version de fichier 6.1.7601.22382
Taille du fichier 118,272
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 09:35
Plateforme x64

Pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2

Nom de fichier Tdx.sys
Version de fichier 6.1.7601.22382
Taille du fichier 236,544
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 03:09
Plateforme IA-64

      

Solution de contournement

Pour contourner ce problème, appliquez l'une des méthodes suivantes :

  • Augmentez le délai d’attente de connexion de votre application à 30 secondes.
  • La fonctionnalité TDI est déconseillée dans Windows Vista, Windows Server 2008 ou une version ultérieure de Windows. Vous pouvez utiliser les pilotes basés sur la plateforme de filtrage Windows (PAM) à la place. Contactez le fournisseur du pilote de filtre TDI installé pour demander des informations sur les mises à niveau du produit qui implémentent la nouvelle plateforme de filtrage Windows. Mettez à niveau le produit, si possible.
  • Remplacez la TDI en utilisant un produit comparable qui a implémenté la plateforme de filtrage Windows.
  • Définissez la propriété RegisterAllProvidersIP sur 0 pour la ressource d’écouteur de groupe de disponibilité dans le cluster Windows. Lorsque la propriété RegisterAllProvidersIP est définie sur 0, vous n’avez pas besoin de spécifier le paramètre MultiSubnetFailover. Pour plus d’informations sur cette solution de contournement, accédez au site web MSDN suivant :
    Créer ou configurer un écouteur de groupe de disponibilité (SQL Server)

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Informations supplémentaires

Pour plus d’informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft ne fournit aucune garantie, implicite ou autre, relative aux performances et à la fiabilité de ces produits.

Informations supplémentaires sur les fichiers

Informations sur les fichiers supplémentaires pour Windows 7 et Windows Server 2008 R2

Fichiers supplémentaires pour toutes les versions x86 prises en charge de Windows 7

Nom de fichier X86_2c94e745aaec3431931d51020305e2b9_31bf3856ad364e35_6.1.7601.22382_none_6fcc2f6025233efa.manifest
Version de fichier Non applicable
Taille du fichier 702
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 1,726
Plateforme Non applicable
Nom de fichier X86_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec81028053b014a1.manifest
Version de fichier Non applicable
Taille du fichier 2,924
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 11:37
Plateforme Non applicable

Fichiers supplémentaires pour toutes les versions x64 prises en charge de Windows 7 et Windows Server 2008 R2

Nom de fichier Amd64_fe6f131c914351fbcf6c3bc973329866_31bf3856ad364e35_6.1.7601.22382_none_a8b3dc126d52c78a.manifest
Version de fichier Non applicable
Taille du fichier 706
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 1,726
Plateforme Non applicable
Nom de fichier Amd64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_489f9e040c0d85d7.manifest
Version de fichier Non applicable
Taille du fichier 2,926
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 12:33
Plateforme Non applicable

Fichiers supplémentaires pour toutes les versions IA-64 prises en charge de Windows Server 2008 R2

Nom de fichier Ia64_649247023b89e8d48b1a96bffe9b85cd_31bf3856ad364e35_6.1.7601.22382_none_a9a13e5e5a562b37.manifest
Version de fichier Non applicable
Taille du fichier 704
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 1,726
Plateforme Non applicable
Nom de fichier Ia64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec82a67653ae1d9d.manifest
Version de fichier Non applicable
Taille du fichier 2,925
Date (UTC) 12-Juil-2013
de redémarrage (UTC) 11:35
Plateforme Non applicable