Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article résout un problème dans lequel le serveur d’administration Operations Manager ne peut pas se connecter au cluster SQL Server qui héberge la base de données de l’entrepôt de données.
Version du produit d’origine : System Center 2012 R2 Operations Manager, Microsoft System Center 2012 Operations Manager
Numéro de base de connaissances d’origine : 3084547
Symptômes
Un serveur d’administration System Center Operations Manager ne peut pas se connecter au cluster SQL Server qui héberge la base de données de l’entrepôt de données. Dans ce cas, l’ID d’événement 31551 est journalisé dans le journal Operations Manager, ainsi qu’une description semblable à ce qui suit pour différents noms de flux de travail :
Nom du journal : Operations Manager
Source : Modules du service de contrôle d’intégrité
Date :
ID d’événement : 31551
Catégorie de tâche : Data Warehouse
Niveau : Erreur
Mots clés : Classique
Utilisateur : N/A
Ordinateur : server.Contoso.com
Description :
Échec du stockage des données dans l’entrepôt de données. Une nouvelle tentative aura lieu.
Exception « SqlException » : une erreur propre au réseau ou à une instance s’est produite lors de l’établissement d’une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l’instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur : interfaces réseau SQL, erreur : 26 - Erreur lors de la localisation du serveur/de l’instance spécifiés)Au moins un flux de travail est affecté.
Nom du workflow : Microsoft.SystemCenter.DataWarehouse.CollectEventData
Nom de l’instance : server.Contoso.com
ID d’instance : {8A13A832-776E-096E-32E7-DC479FCD6DBC}
Groupe d’administration : SupportGroup
Cause
Le focus ici doit se trouver sur la chaîne suivante :
erreur : 26 - Erreur de localisation du serveur/de l’instance spécifiée
Cette erreur se produit souvent parce qu’une connexion distante n’est pas activée sur le serveur. Toutefois, cette erreur est réellement générée lorsque le client ne peut pas recevoir un paquet UDP de réponse SSRP (SQL Server Resolution Protocol) à partir de SQL Server Browser. Ce comportement se produit généralement parce que la communication de port UDP est bloquée entre le serveur d’administration et le cluster SQL Server qui héberge l’entrepôt de données Operations Manager.
Note
Cette erreur se produit uniquement lorsque vous essayez de vous connecter à une instance nommée SQL Server. Il ne doit pas se produire lorsque vous vous connectez à l’instance par défaut. Cela est, même si la tentative de connexion échoue à ce stade (par exemple, en raison d’une erreur de localisation du serveur ou de l’instance spécifié), elle continue à essayer de se connecter à l’aide des valeurs par défaut (par exemple, à l’aide du port TCP par défaut de 1433, du nom de canal par défaut pour les canaux nommés, etc.). D’autres messages d’erreur peuvent être générés en raison d’un échec ultérieur, mais pas de ce message d’erreur.
Résolution
Pour résoudre ce problème, vous devez résoudre le problème qui provoque l’échec de la communication de port UDP entre le serveur d’administration et le cluster SQL Server. Dans la plupart des cas, il est assez facile d’isoler le problème en procédant comme suit :
- Vérifiez que le nom du serveur est correct (par exemple, assurez-vous qu’il n’y a pas d’erreur dans le nom).
- Vérifiez que le nom de l’instance est correct et que l’instance existe réellement sur votre ordinateur cible. Certaines applications convertissent \\ en \. Si vous n’êtes pas sûr de votre application, essayez à la fois
server\instance
etserver\\instance
dans le chaîne de connexion. - Assurez-vous que le serveur est accessible. Assurez-vous que DNS peut être résolu correctement et que vous pouvez effectuer un test ping sur le serveur.
- Vérifiez que le service SQL Server Browser s’exécute sur le serveur.
- Si le pare-feu est activé sur le serveur, vérifiez qu’il existe une exception pour sqlbrowser.exe et le port UDP 1434.
Vous pouvez télécharger l’utilitaire PortQry
à partir de nouvelles fonctionnalités dans PortQry version 2.0 pour tester les étapes 4 et 5.
Une fois que vous avez PortQry
, exécutez la commande suivante :
portqry.exe -n serverName -p UDP -e 1434
Si cette commande retourne des informations et contient l’instance cible, vous pouvez exclure les scénarios des étapes 4 et 5. Cela signifie que SQL Browser est en cours d’exécution et que le pare-feu ne bloque pas les paquets UDP SQL Server Browser.
Une fois ces étapes terminées, l’erreur ne doit plus se produire. Le serveur d’administration peut toujours ne pas se connecter à SQL Server, mais si c’est le cas, un autre message d’erreur doit être déclenché à ce stade. Si le serveur d’administration ne parvient toujours pas à se connecter, remplacez server\instance
par tcp:server\instance
ou par np:server\instance
, puis vérifiez si cela réussit avec TCP ou le protocole NP.
Plus d’informations
Ce problème est dû à une combinaison des éléments suivants :
- Spécificités du cluster Windows
- Découverte de l’instance nommée SQL Server
Lorsque vous vous connectez à des instances nommées SQL Server, les composants clients s’appuient sur SQL Server Browser pour découvrir le serveur et ses paramètres. Le processus de découverte s’exécute comme suit :
- Le client envoie un paquet UDP à SQL Server Browser sur l’ordinateur cible. Lorsque l’instance nommée se trouve sur un cluster Windows, le paquet est envoyé à l’adresse IP du cluster, ou plus précisément, à l’adresse IP qui correspond à la machine virtuelle exécutant SQL Server. Toutefois, SQL Browser n’est pas conscient du cluster, et il écoute sur l’adresse IP.
- Quand SQL Server Browser reçoit le paquet de requête UDP, il envoie un paquet UDP de réponse au client. Bien que l’adresse IP de destination soit l’adresse IP du client, l’adresse IP source est modifiée. Il s’agit désormais de l’adresse IP de la carte réseau sur l’ordinateur physique au lieu de l’adresse IP de SQL Server virtuelle.
- L’adresse IP source du paquet UDP de réponse est déterminée par le système d’exploitation Windows, en fonction de la table de routage. Étant donné que l’adresse IP de SQL Server virtuelle et l’adresse IP attachée à la carte réseau physique se trouvent généralement sur le même sous-réseau et appartiennent donc à la même route, l’adresse IP physique est sélectionnée. Selon les paramètres de sécurité sur les ordinateurs clients et serveurs, ce paquet UDP de réponse peut être supprimé par un pare-feu tiers ou par IPsec, car l’adresse IP homologue est modifiée. Le Pare-feu Windows ne supprime pas le paquet.
- Si le client est un ordinateur Windows Vista, IPsec peut supprimer le paquet si la stratégie IPsec est activée sur le client et si elle ne peut pas établir une connexion d’approbation entre le client et le serveur. Pour contourner ce problème, spécifiez manuellement le port TCP ou le nom du canal dans le chaîne de connexion.