Symptômes
Lorsque vous essayez de vous connecter à Microsoft SQL Server 2012 grâce à un écouteur de groupe de disponibilité AlwaysOn à partir d’une application cliente, vous pouvez rencontrer un message d’erreur de délai d’expiration d’ouverture de session.
Par exemple, lorsque vous utilisez la commande SqlCmd , le message d’erreur suivant peut s’afficher :
Sqlcmd : Erreur : Microsoft SQL Native Client : délai de connexion expiré.
[Microsoft] [SQL Server Native Client 11.0] Retard dans l’ouverture de connexion au serveur de traiter Impossible d’ouverture de session complète
Lorsque vous utilisez un Microsoft basée sur le.NET Framework 3.5 ou Microsoft application basée sur.NET Framework 4.0 à l’aide de .net du fournisseur de données de Framework pour SQL Server, le message d’erreur suivant peut s’afficher :
Délai d’attente a expiré. Le délai d’attente écoulée avant l’achèvement de l’opération ou le serveur ne répond pas.
à System.Data.SqlClient.SqlInternalConnection.OnError (SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
à System.Data.SqlClient.TdsParserStateObject.ReadSniError (TdsParserStateObject stateObj, UInt32 erreur)
à System.Data.SqlClient.TdsParserStateObject.ReadSni (asyncResult de DbAsyncResult, TdsParserStateObject stateObj)
à System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
à System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake (Boolean crypter, Boolean trustServerCert, valeur booléenne & marsCapable)
à System.Data.SqlClient.TdsParser.Connect (Infos serveur du Infos serveur du, SqlInternalConnectionTds, connHandler, ignoreSniOpenTimeout de type Boolean, Int64, timerExpire, valeur booléenne crypter, Boolean trustServerCert, integratedSecurity Boolean, Boolean withFailover)
à System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (Infos serveur de des infos serveur du, chaîne newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer du délai d’attente, SqlConnection owningObject, Boolean withFailover)
à System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (Infos serveur de des infos serveur du, chaîne newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, délai d’attente de TimeoutTimer)
à System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject, TimeoutTimer du délai d’attente, SqlConnectionString connectionOptions, chaîne newPassword, Boolean redirectedUserInstance)
à System.Data.SqlClient.SqlInternalConnectionTds... ctor (identité de DbConnectionPoolIdentity, SqlConnectionString connectionOptions, providerInfo de l’objet, chaîne newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
Remarque Si vous augmentez le délai de connexion à 30 secondes, l’application cliente prend environ 20 secondes pour se connecter avec succès.
Ces problèmes se produisent lorsque les conditions suivantes sont remplies :
-
Votre groupe de disponibilité est défini dans un sous-réseau multiples.
-
Vous avez spécifié le paramètre MultiSubnetFailover lorsque vous vous connectez.
-
Vous avez un pilote de filtre de pilote Interface TDI () de Transport actif est installé sur la station de travail client application.
Cause
Ce problème se produit car le pilote Tdx.sys ne gère pas correctement la fonction Closesocket() lorsque la fonction est appelée au milieu de l’établissement d’une connexion TCP/IP.
Résolution
Informations sur le correctif
Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes qui rencontrent le problème décrit dans cet article. Ce correctif va peut-être subir des tests supplémentaires. Par conséquent, si vous n'êtes pas sérieusement concerné par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielle qui contiendra ce correctif.
Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n'apparaît pas, contactez le Service clientèle et Support de Microsoft pour obtenir le correctif.
Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone du service clientèle de Microsoft ou pour créer une demande de service distincte, visitez le site Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=supportRemarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.
Conditions préalables
Pour appliquer ce correctif, vous devez exécuter Windows 7 SP1 ou Windows Server 2008 R2 SP1.
Pour plus d’informations sur la façon 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 Windows Server 2008 R2
Informations concernant le Registre
Pour appliquer ce correctif, vous n'avez à apporter aucune modification au Registre.
Nécessite un redémarrage
Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.
Informations de remplacement du correctif
Ce correctif ne remplace pas un correctif précédemment publié.
La version globale de ce correctif logiciel installe des fichiers dont les attributs sont répertoriés dans les tableaux ci-dessous. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Les dates et heures de ces fichiers sur votre ordinateur local sont affichées dans votre heure locale en tenant compte de l'heure d'été (DST). En outre, les dates et heures peuvent changer lorsque vous effectuez certaines opérations sur les fichiers.
Remarques sur les fichiers Windows 7 et Windows Server 2008 R2
Important Les correctifs logiciels Windows 7 et Windows Server 2008 R2 sont inclus dans les mêmes packages. Toutefois, les correctifs dans la page de demande de correctif logiciel sont répertoriés sous les deux systèmes d’exploitation. Pour demander le package de correctif qui s’applique à un ou deux systèmes d’exploitation, sélectionnez le correctif logiciel qui est répertorié sous « Windows 7/Windows Server 2008 R2 » sur la page. Reportez-vous toujours à la section « S’applique à » dans les articles pour déterminer le système d’exploitation actif auquel s’applique chaque correctif.
-
Les fichiers qui s'appliquent à un produit spécifique, SR_Level (RTM, SPn), et à une branche de service (LDR, GDR), peuvent être identifiés en examinant les numéros de version de fichier comme indiqués dans le tableau suivant :
Version francaise
Produit
Jalon
Dossier
6.1.760
1.22 xxxWindows 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 supplémentaires sur les fichiers pour Windows 7 et Windows Server 2008 R2». Les fichiers MUM et MANIFEST et les fichiers de catalogue sécurité associées (.cat), sont extrêmement importants pour conserver l'état du composant mis à jour. Les fichiers de catalogue de sécurité, pour lesquels les attributs ne sont pas répertoriés, sont signés avec une signature numérique Microsoft.
Pour toutes les versions x86 de Windows 7 prises en charge
Nom de fichier |
Tdx.sys |
Version de fichier |
6.1.7601.22382 |
Taille du fichier |
74,752 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
09:17 |
Plateforme |
x86 |
Pour toutes les versions 64 bits 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-Jul-2013 |
Heure (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-Jul-2013 |
Heure (UTC) |
09:03 |
Plateforme |
IA-64 |
Solution de contournement
Pour contourner ce problème, appliquez l’une des méthodes suivantes :
-
Augmenter le délai de connexion de votre application à 30 secondes.
-
La fonctionnalité TDI est désapprouvée dans Windows Vista, Windows Server 2008 ou une version ultérieure de Windows. Vous pouvez utiliser les pilotes WFP Windows Filtering Platform à 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. Mise à niveau du produit, si cela est possible.
-
Remplacez le TDI à l’aide d’un produit similaire qui a implémenté la plateforme de filtrage Windows.
-
La propriété RegisterAllProvidersIP la valeur 0 pour la ressource de port d’écoute de groupe de disponibilité dans le cluster de Windows. Lorsque la propriété RegisterAllProvidersIP est définie à 0, vous n’êtes pas obligé de spécifier le paramètre MultiSubnetFailover . Pour plus d’informations sur cette solution de contournement, consultez le site Web MSDN suivant :
Créer ou configurer un écouteur de groupe de disponibilité (SQL Server)
État
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».
Plus d'informations
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 de Microsoft
Les produits tiers dont traite cet article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute forme de garantie, expresse ou implicite, concernant les performances ou la fiabilité de ces produits.
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 |
Ne s'applique pas |
Taille du fichier |
702 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
17:26 |
Plateforme |
Ne s'applique pas |
Nom de fichier |
X86_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec81028053b014a1.manifest |
Version de fichier |
Ne s'applique pas |
Taille du fichier |
2,924 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
11:37 |
Plateforme |
Ne s'applique pas |
Fichiers supplémentaires pour toutes les versions 64 bits 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 |
Ne s'applique pas |
Taille du fichier |
706 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
17:26 |
Plateforme |
Ne s'applique pas |
Nom de fichier |
Amd64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_489f9e040c0d85d7.manifest |
Version de fichier |
Ne s'applique pas |
Taille du fichier |
2,926 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
12:33 |
Plateforme |
Ne s'applique pas |
Fichiers supplémentaires pour toutes les versions de Windows Server 2008 R2 basées sur IA-64 prises en charge
Nom de fichier |
Ia64_649247023b89e8d48b1a96bffe9b85cd_31bf3856ad364e35_6.1.7601.22382_none_a9a13e5e5a562b37.manifest |
Version de fichier |
Ne s'applique pas |
Taille du fichier |
704 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
17:26 |
Plateforme |
Ne s'applique pas |
Nom de fichier |
Ia64_microsoft-windows-tdi-over-tcpip_31bf3856ad364e35_6.1.7601.22382_none_ec82a67653ae1d9d.manifest |
Version de fichier |
Ne s'applique pas |
Taille du fichier |
2,925 |
Date (UTC) |
12-Jul-2013 |
Heure (UTC) |
11:35 |
Plateforme |
Ne s'applique pas |