BOGUE : ne peut pas se connecter à une instance nommée en clusters par le biais d'un pare-feu

Traductions disponibles Traductions disponibles
Numéro d'article: 318432 - Voir les produits auxquels s'applique cet article
BOGUE #: 356696 (SHILOH_BUGS)
Agrandir tout | Réduire tout

Symptômes

Si vous essayez de vous connecter une instance nommée en clusters de SQL Server à travers un pare-feu, et que vous utilisez uniquement le nom d'instance (par exemple, SQL_Virtual_Name\Instance_Name) dans la chaîne de connexion, la connexion échoue et vous pouvez recevoir un des messages d'erreur suivants :
Message d'erreur 1
Serveur SQL spécifié introuvable.
Message d'erreur 2
SQL Server n'existe pas ou accès refusé.
Si vous exécutez une trace réseau sur le serveur, vous pouvez voir que le serveur reçoit réellement la requête de l'ordinateur client sur le port UDP 1434 pour l'adresse IP de serveur virtuel ; toutefois, la réponse est envoyée avec l'adresse IP physique du n?ud de cluster est en cours d'exécution SQL Server.

Cause

Lorsqu'un ordinateur client se connecte à un ordinateur qui exécute une instance en cluster SQL Server, si la chaîne de connexion ne spécifie pas la destination le port TCP, la bibliothèque client interroge le serveur sur le port UDP 1434 pour collecter les informations relatives à l'instance.

Lorsque le serveur renvoie les informations, le cadre de réseau contient l'adresse IP du n?ud physique au lieu de l'adresse IP du serveur virtuel. Selon la configuration du pare-feu, ce paquet réseau peut être supprimé, et le client ne peut pas recevoir les réponses.

Contournement

Pour contourner ce problème, vous pouvez :
  • Spécifiez le numéro de port TCP dans la chaîne de connexion. Par exemple, si votre serveur SQL Server virtuel nommé VSERVER1 et il écoute sur numéro de port TCP/IP 2433, votre chaîne de connexion contient les attributs suivants.
    Data Source=VSERVER1\instancename,2433;Network Library=dbmssocn
    -or-

  • Créer un alias de SQL Server sur chaque client en utilisant l'utilitaire réseau du client. Dans l'alias, spécifiez la bibliothèque réseau à utiliser (TCP/IP) et le numéro de port. Utiliser cet alias dans votre chaîne de connexion et ne spécifiez pas l'attribut bibliothèque réseau dans votre chaîne de connexion.

    Vous pouvez également automatiser la création de l'alias SQL Server sur chaque client en utilisant un objet de stratégie de groupe (GPO) sur le contrôleur de domaine. Supposons que votre instance de SQL Server virtuelle est nommé VSERVER1\MyInstance. L'instance virtuelle de SQL Server écoute sur numéro de port TCP/IP 2433. Le nom de l'alias SQL Server que vous souhaitez créer est MyAlias. Pour automatiser la création de l'alias SQL Server, procédez comme suit :
    1. Sur le contrôleur de domaine, créez un fichier .reg contenant l'entrée de Registre pour l'alias SQL Server.

      Par exemple, créer un fichier Myreg.reg qui contient les informations suivantes.
      Windows Registry Editor Version 5.00
      
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
      "DSQUERY"="DBNETLIB"
      "MyAlias"="DBMSSOCN,VSERVER1\MyInstance,2433"
    2. Pour créer une unité d'organisation (UO), procédez comme suit :
      1. Ouvrez Active Directory utilisateurs et ordinateurs , cliquez avec le bouton droit sur DomainName, pointez sur Nouveau et puis cliquez sur Unité d'organisation .
      2. Dans la boîte de dialogue Nouvel objet - unité d'organisation , entrez un nom pour l'unité D'ORGANISATION, puis cliquez sur OK .
    3. Ajouter les utilisateurs et des ordinateurs à laquelle vous souhaitez appliquer l'objet de stratégie de groupe à l'unité D'ORGANISATION. Pour ce faire, faites glisser les utilisateurs et les ordinateurs à l'unité D'ORGANISATION que vous avez créé à l'étape 2.
    4. Ajouter un objet de stratégie de groupe à l'unité D'ORGANISATION. Cet objet de stratégie de groupe applique un script d'ouverture de session utilisateur ou un script de démarrage ordinateur pour importer le fichier .reg. Pour ce faire, procédez comme suit :
      1. Cliquez avec le bouton droit sur l'unité D'ORGANISATION que vous avez créé à l'étape 2, puis cliquez sur Propriétés .
      2. Dans la boîte de dialogue Propriétés , cliquez sur l'onglet Stratégie de groupe .
      3. Sous l'onglet Stratégie de groupe , cliquez sur Nouveau , puis cliquez sur Modifier pour ouvrir la fenêtre Éditeur d'objets de stratégie de groupe .
      4. Si vous souhaitez appliquer cet objet de stratégie de groupe aux utilisateurs ou aux groupes, suivez cette étape :
        • Développez Configuration utilisateur , développez Paramètres Windows , cliquez sur Scripts (ouverture/fermeture de session) , puis puis double-cliquez sur Ouverture de session .
        Si vous souhaitez appliquer cet objet de stratégie de groupe aux ordinateurs, suivez cette étape :
        • Développez Configuration ordinateur , développez Paramètres Windows , cliquez sur Scripts (démarrage/arrêt) , puis puis double-cliquez sur démarrage .
      5. Dans la boîte de dialogue Propriétés , cliquez sur Afficher les fichiers à ouvrir le dossier qui contient les fichiers de script.

        note Un chemin d'accès UNC (Universal Naming Convention) s'affiche dans la barre d'adresses de la fenêtre du dossier.
      6. Placez le fichier Myreg.reg dans le dossier que vous avez ouvert dans l'étape 4e.
      7. Dans le même dossier, créez un fichier .bat qui contient les informations suivantes. Supposons que le nom de fichier est Mybat.bat.
        Regedit /s <Path>\Myreg.reg
        notes
        • <Path> représente le chemin d'accès UNC du dossier.
        • Le commutateur /s spécifie pour importer le fichier .reg en mode silencieux.
      8. Dans la boîte de dialogue Propriétés , cliquez sur Ajouter .
      9. Dans la boîte de dialogue Ajouter un script , cliquez sur Parcourir .
      10. Dans la boîte de dialogue Parcourir , recherchez le fichier Mybat.bat et puis cliquez sur Ouvrir .
      11. Dans la boîte de dialogue Ajouter un script , cliquez sur OK .
      12. Dans la boîte de dialogue Propriétés , cliquez sur OK .
    5. Vérifiez que les utilisateurs et les ordinateurs que vous avez ajouté à l'étape 3 ont l'autorisation lecture et l'autorisation d'appliquer la stratégie de groupe à l'objet de stratégie de groupe. Pour ce faire, procédez comme suit :
      1. Dans ces ordinateurs, cliquez avec le bouton droit sur l'unité D'ORGANISATION que vous avez créé à l'étape 2, puis cliquez sur Propriétés .
      2. Dans la boîte de dialogue Propriétés , cliquez sur l'onglet Stratégie de groupe .
      3. Sous l'onglet Stratégie de groupe , cliquez sur l'objet de stratégie de groupe que vous avez créé à l'étape 4c, puis cliquez sur Propriétés .
      4. Dans la boîte de dialogue Propriétés , cliquez sur l'onglet sécurité .
      5. Sous l'onglet sécurité , vérifiez que les utilisateurs et les ordinateurs auxquels s'applique l'objet de stratégie de groupe sont répertoriés sous Noms d'utilisateur ou groupe .
      6. Assurez-vous que l'autorisation en lecture et l'autorisation d'appliquer la stratégie de groupe sont spécifiés pour les utilisateurs et les ordinateurs.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Ce problème est résolu dans les cas suivants :
  • Microsoft SQL Server 2008 sur Windows Server 2008
  • Microsoft SQL Server 2005 coexiste avec SQL Server 2008 sur Windows Server 2008
Ce problème se produit dans SQL Server 2008 sur Windows Server 2003.

Plus d'informations

Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
944390 CORRECTIF : message d'erreur lorsque vous vous connectez à une instance nommée de SQL Server sur un ordinateur client qui exécute Windows Vista ou Windows Server 2008: « spécifique SQL server introuvable » ou « Erreur recherche serveur/instance spécifié »
936302 Liste des problèmes connus lorsque vous installez SQL Server 2005 sur Windows Server 2008

Propriétés

Numéro d'article: 318432 - Dernière mise à jour: mardi 5 mai 2009 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Mots-clés : 
kbmt kbbug kbpending KB318432 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 318432
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com