Dépannage des serveurs de bases de données
Vous trouverez ci-dessous des suggestions de solutions aux problèmes que vous pourriez rencontrer lors de l'utilisation des serveurs de bases de données ou des géodatabases stockées sur des serveurs de bases de données.
Erreur : Impossible de se connecter à ce serveur de données... SQL Server n'existe pas ou l'accès à ce dernier est refusé.
Raisons possibles pour lesquelles vous avez reçu le message d'erreur :
- Si l'instance SQL Server Express n'a pas été démarrée, le client distant ne sera pas capable de le localiser.
- Si votre compte d'utilisateur n'a jamais été installé sur le serveur de base de données ou s'il en a été supprimé, vous ne pourrez pas l'interroger ou vous y connecter.
- Les clients distants doivent avoir un moyen de communiquer avec l'instance SQL Server Express. Si le protocole réseau n'est pas défini, cette méthode de communication n'est pas définie, et une connexion ne peut pas être établie avec l'instance sur un réseau.
- Le service SQL Server Browser fournit des informations sur les instances SQL Server installées sur l'ordinateur lorsqu'il reçoit une demande d'un client SQL Server. Si SQL Browser est désactivé, le client ne recevra pas les noms et les ports utilisés pour chaque instance SQL Server installée et, par conséquent, ne pourra pas localiser l'instance.
Solution :
En premier lieu, vérifiez que le serveur de base de données auquel vous essayez de vous connecter est démarré. Si tel est le cas, confirmez que vous avez les autorisations nécessaires pour accéder à distance à ce serveur de base de données. Si le serveur de base de données est démarré et que vous avez le droit de vous y connecter et de l'interroger, les protocoles réseau ne sont probablement pas activés sur le serveur de base de données. Pour réactiver les protocoles réseau, procédez comme suit :
- Ouvrez le Gestionnaire de configuration Microsoft SQL Server. Pour y accéder, pointez sur Démarrer > Tous les Programmes > Microsoft SQL Server > Outils de configuration.
- Développez Configuration du réseau SQL Server dans l'arborescence et cliquez sur les protocoles de votre instance SQL Server.
- Cliquez avec le bouton droit sur le protocole TCP/IP et sélectionnez Activer.
Le message d'avertissement suivant s'affiche :
Any changes made will be saved; however, they will not take effect until the service is stopped and restarted.
Arrêtez et redémarrez le service. Si les protocoles réseau sont activés et que vous ne pouvez toujours pas vous connecter au serveur de base de données à partir du client distant, le service SQL Server Browser est probablement arrêté. Pour démarrer le service SQL Server Browser :
- Ouvrez le Gestionnaire de configuration Microsoft SQL Server.
- Cliquez sur l'icône SQL Server pour afficher le service SQL Server Browser.
- Si l'état de SQL Server Browser est suspendu, cliquez dessus avec le bouton droit et sélectionnez Reprendre. Si l'état de SQL Server Browser est arrêté, cliquez dessus avec le bouton droit et sélectionnez Démarrer.
Si toutes les options du menu contextuel à l'exception de Propriétés et Aide sont désactivées lorsque vous cliquez avec le bouton droit sur SQL Server Browser, c'est que le mode de démarrage de ce service est défini sur Désactivé. Pour y remédier, procédez comme suit :
- Cliquez avec le bouton droit sur SQL Server Browser et sélectionnez Propriétés.
- Cliquez sur l'onglet Service.
- Cliquez sur Mode de démarrage.
- Dans le menu déroulant, choisissez Automatique ou Manuel. Si vous définissez le mode de démarrage Automatique, le service SQL Server Browser démarre automatiquement lorsque vous redémarrez l'ordinateur.
- Cliquez sur OK.
Maintenant, si vous cliquez avec le bouton droit sur le service SQL Server Browser, l'option Démarrer doit être disponible.
Erreur : Impossible de générer le contexte SSPI
Raison possible pour laquelle vous avez reçu le message d'erreur :
Vous rencontrerez surtout cette erreur si vous travaillez sur un portable et que vous vous connectez en utilisant vos identifiants de domaine, mais que vous ne vous connectez pas réellement à votre domaine. Cela peut arriver si vous êtes branchés sur un site client (par opposition à votre propre réseau) ou si vous utilisez votre portable alors que vous n'êtes connecté à aucun réseau, comme lorsque vous travaillez sur le terrain. Ce rapport est lié au protocole réseau TCP/IP et à l'authentification Windows. Vous pouvez également vous rendre sur le site Web de Microsoft pour consulter un article de la base de connaissances portant sur la résolution du message d'erreur 'Impossible de générer le contexte SSPI'.
Solution :
Etablissez votre connexion au serveur de base de données sur votre ordinateur local (en ajoutant un serveur de base de données) en utilisant le bouclage TCP/IP 127.0.0.1 à la place du nom de domaine ; par exemple : 127.0.0.1\sqlexpress.
Cela fonctionnera tant que le serveur de base de données (l'instance SQL Server Express) est installé sur votre ordinateur local.
Erreur : La connexion à la base de données a échoué - Erreur SGBD sous-jacente (Fournisseur Microsoft OLE DB pour SQL Server. Echec de l'ouverture de session pour l'utilisateur '<nom d'utilisateur>'. L'utilisateur n'est pas associé à une connexion SQL Server approuvée.)
Raison possible pour laquelle vous avez reçu le message d'erreur :
Lorsque les variables d'environnement SDEUSER ou SDEPASSWORD sont définies dans les variables d'environnement système, elles sont prioritaires sur votre identifiant Windows lors de la connexion à une géodatabase. Ne définissez pas ces variables si vous devez vous connecter depuis cet ordinateur à une géodatabase se trouvant sur un serveur de base de données ou si vous devez vous connecter à une géodatabase d'entreprise via l'authentification du système d'exploitation.
Solution :
Assurez-vous que vous n'avez pas de variable d'environnement SDEUSER ou SDEPASSWORD définie sur l'ordinateur client qui se connecte.
Erreur : L'ajout de la classe d'entités a échoué. <nom de la classe d'entités> est en mode chargement uniquement et ne peut donc pas être ajoutée en tant que couche.
Raison possible pour laquelle vous avez reçu le message d'erreur :
Si la taille de l'index spatial d'un jeu de données est définie sur 0, lorsque vous tentez de l'importer dans la géodatabase, l'importation échoue et le jeu de données risque de se retrouver coincé en mode d'entrée/sortie (E/S) de chargement uniquement. Si vous recalculez l'index spatial, ou supprimez l'index spatial et le recréez, la classe d'entités doit repasser en mode d'entrée/sortie (E/S) normal, et vous devriez ensuite pouvoir l'utiliser.
Solution :
Recalculez ou recréez l'index spatial sur la classe d'entités.
- Dans l'arborescence du catalogue, cliquez avec le bouton droit sur la classe d'entités qui est en mode chargement uniquement, sélectionnez Propriétés, puis cliquez sur l'onglet Index de la boîte de dialogue Propriétés de la classe d'entités.
- Si votre classe d'entités utilise la géométrie SQL Server pour le stockage de géométries, vous pouvez recalculer l'index. Dans la section Index spatial, cliquez sur Recalculer. Si votre classe d'entités utilise un type de données binaire ou le type de géographie SQL Server pour le stockage des géométries, recréez l'index spatial. Cliquez sur Supprimer puis sur Créer dans la section Index spatial pour recréer l'index spatial.
- Cliquez sur OK pour fermer la boîte de dialogue Propriétés de la classe d'entités.
Erreur : Bad login user (Utilisateur de connexion erroné)
Raison possible pour laquelle vous avez reçu le message d'erreur :
Vous avez probablement essayé de vous connecter à une géodatabase sur un serveur de base de données à l'aide d'un nom d'utilisateur et d'un mot de passe authentifiés par base de données.
Solution :
Les connexions aux géodatabases sur les serveurs de bases de données utilisent uniquement les identifiants authentifiés par Windows. Par conséquent, sélectionnez l'option d'authentification du système d'exploitation dans la boîte de dialogue Connexion à une base de données spatiale et connectez-vous avec un identifiant Windows valide.
Erreur : Echec de la connexion. La connexion provient d'un domaine non approuvé et ne peut pas être utilisée avec l'authentification Windows.
Raisons possibles pour lesquelles vous avez reçu le message d'erreur :
- Vous avez essayé de vous connecter à une géodatabase sur un serveur de base de données distant alors que vous étiez connecté à un compte Windows local.
- Vous avez essayé de vous connecter à une géodatabase sur un serveur de base de données avec un compte de domaine qui n'a pas été ajouté au serveur de base de données.
Solution :
Connectez-vous à l'ordinateur client avec un compte de domaine qu'un administrateur de serveur a ajouté au serveur de base de données.
Erreur : Connection was attempted with an older version of SQL Server client communications software that is not compatible with the SQL Server database server (Tentative de connexion avec une version du logiciel de communication client SQL Server antérieure qui n'est pas compatible avec le serveur de base de données SQL Server)
Raison de la réception du message d'erreur :
Aucune version prise en charge de Microsoft SQL Native Client Natif n'est installée sur l'ordinateur client depuis lequel vous vous connectez à la géodatabase.
Solution :
Installez sur l'ordinateur client une version de l'application SQL Native Client compatible avec la version de SQL Server Express que vous utilisez.