SQL Server ne peut pas lier le port TCP/IP sur lequel SQL Server écoute lorsque le port TCP/IP est utilisé par une autre application

Symptômes

Lorsque vous basculer le serveur virtuel de SQL vers un autre nœud, puis basculez vers le nœud d’origine, les serveurs virtuels SQL échoue parfois à lier au port sur lequel il écoute. Serveur virtuel de SQL puis échoue également d’accepter des connexions entrantes sur TCP/IP. Lorsque ce type de panne se produit, les messages d’erreur suivants sont enregistrés dans les journaux d’erreurs SQL Server :

2000-06-26 09:54:10.72 serveur informations de SuperSocket : Échec de la liaison sur le port TCP 1433.
2000-06-26 09:54:10.74 serveur SQL server à l’écoute sur les canaux nommés.
2000-06-26 09:54:10.74 serveur SQL Server est prêt pour les connexions client
Remarque Ce problème peut également se produire sur les ordinateurs SQL Server 2000 en cluster et sur les ordinateurs SQL Server 2005.

Cause

Il existe une autre application qui s’exécute sur l’ordinateur, qui prend le contrôle du port sur lequel SQL Server est à l’écoute. Dans ce cas, le port est le port TCP 1433. Le problème se produit également dans les cas où il existe une lourde charge de client de TCP/IP.

Ce problème a d’autres causes potentielles. Si la solution de contournement dans cet article ne résout pas le problème, consultez les articles suivants dans la Base de connaissances Microsoft :
Port TCP\IP utilisé par une autre application 293107

319578 message d’erreur lorsque vous modifiez l’adresse IP sur un nœud de cluster de basculement SQL Server : « Liaison a échoué »

312935 correctif : SQL Server ne peut pas lier le port TCP/IP au démarrage

308091 bogue : option Masquer le serveur ne peut pas être utilisée sur plusieurs instances de SQL Server 2000

Solution de contournement

Important Cette section, méthode ou tâche contient des étapes vous indiquant comment modifier le Registre. Toutefois, des problèmes graves peuvent survenir si vous modifiez le Registre de façon incorrecte. Par conséquent, veillez à suivre ces étapes scrupuleusement. Pour une meilleure protection, sauvegardez le Registre avant de le modifier. Vous pourriez alors restaurer le Registre si un problème survient. Pour plus d’informations sur la façon de sauvegarder et de restaurer le Registre, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
322756 comment sauvegarder et restaurer le Registre dans Windows


Pour contourner ce problème, ajoutez un
Valeur de SuperSocketNetlib\Tcp\TcpAbortiveClose dans la clé de Registre pour le service MSSQLServer pour l’instance particulière. Pour ce faire, procédez comme suit :
  1. À partir de la ligne de commande, démarrez l’Éditeur du Registre (Regedt32.exe).
  2. Recherchez, puis cliquez sur la clé suivante dans le Registre :
    • SQL Server 2000 :
      HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetlib\Tcp
    • SQL Server 2005 :
      HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Tcp\

      Remarque : MSSQL.x est un espace réservé pour la valeur correspondant à votre système, vous pouvez localiser
      MSSQL.x de la valeur de la
      Entrée de Registre MSSQLSERVER dans la sous-clé de Registre suivante.
      HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL serveur Names\SQL\
  3. Dans le menu Edition , pointez sur Nouveau, puis cliquez sur Valeur DWORD.
  4. Tapez
    TcpAbortiveCloseet appuyez sur ENTRÉE.
  5. Dans le menu Edition, cliquez sur Modifier.
  6. Cliquez sur
    Décimal, puis tapez 1 dans la
    Champ de données de la valeur .
  7. Quittez l’Éditeur du Registre.
Remarque Si la clé de Registre a été créée et définie sur 1 dans une instance de SQL Server 2000, il migre vers l’emplacement de SQL Server 2005 lors de la migration de l’instance.

Plus d'informations

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Bibliothèque de réseau 286303 comportement de SQL Server 2000 lors de la détection des ports dynamiques

Port TCP\IP utilisé par une autre application 293107

Propriétés

ID d'article : 307197 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires