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.

ConseilConseil :

Pour consigner les erreurs dans les fichiers journaux, vous pouvez créer un dossier etc à l'emplacement d'installation d'ArcGIS ; les fichiers journaux seront alors générés automatiquement à cet emplacement. Par exemple, si vous avez installé ArcGIS Desktop dans c:\Program Files\ArcGIS, créez un dossier du nom de etc à cet emplacement : c:\Program Files\ArcGIS\etc. Après avoir trouvé les informations recherchées dans les fichiers ou avoir envoyé des copies au support technique, supprimez le dossier etc. Les journaux des erreurs qui sont créés dans le dossier d'etc ne sont pas tronqués et peuvent rapidement atteindre plusieurs méga-octets. Si vous supprimez uniquement les fichiers journaux, ils sont recréés automatiquement dans le dossier etc.

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 :

  1. 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.
  2. Développez Configuration du réseau SQL Server dans l'arborescence et cliquez sur les protocoles de votre instance SQL Server.
  3. 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 ce service :

  1. Ouvrez le Gestionnaire de configuration Microsoft SQL Server.
  2. Cliquez sur l'icône SQL Server pour afficher le service SQL Server Browser.
  3. 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 le changer :

  1. Cliquez avec le bouton droit sur SQL Server Browser et sélectionnez Propriétés.
  2. Cliquez sur l'onglet Service.
  3. Cliquez sur Mode de démarrage.
  4. 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.
  5. 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 références 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 consulter le site Web de Microsoft pour lire un article de la base de connaissances sur la manière de dépanner le 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 ou dans un fichier dbinit.sde, elles sont prioritaires sur votre identifiant Windows lors de la connexion à une géodatabase ArcSDE. Ne définissez pas ces variables si vous devez vous connecter depuis cet ordinateur à une géodatabase ArcSDE se trouvant sur un serveur de base de données ou à une géodatabase ArcSDE sous licence ArcGIS Server Enterprise 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 grille spatiale d'un jeu de données est définie sur 0, lorsque vous essayez de l'importer dans une géodatabase ArcSDE, 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 la taille de l'index spatial, 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 les tailles de l'index spatial sur la classe d'entités.

  1. 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.
  2. Dans la section Index spatial, cliquez sur Recalculer.
  3. Cliquez sur OK sous l'onglet Index.

Problème : L'utilisateur connecté n'a pas accès aux tâches administratives du serveur de base de données, telles que Nouvelle géodatabase, Restaurer ou Autorisations, même s'il a été ajouté au groupe Administrateur de Windows sur le serveur.

Raison pour laquelle l'administrateur Windows n'a pas pu effectuer les tâches d'administrateur de serveur :

Le contrôle d'accès d'utilisateur est activé par défaut sur les ordinateurs Windows Vista, 7 et 2008 Server. Cela entraîne l'application d'un modèle de sécurité plus strict selon lequel les administrateurs Windows ne sont pas automatiquement des administrateurs système dans la base de données SQL Server. Il se peut que les utilisateurs habitués à accéder à des serveurs de base de données ArcSDE ou à d'autres instances de SQL Server sur un serveur Windows XP ou 2003 soient familiarisés avec le comportement par défaut sur ces systèmes d'exploitation et oublient d'exécuter les étapes nécessaires pour ajouter d'autres administrateurs de serveur au serveur de base de données.

Solution :

Désactivez le contrôle d'accès d'utilisateur (User Access Control, UAC) sur le serveur ou ouvrez une session en tant qu'administrateur ajouté au serveur de base de données ArcSDE lors de la configuration de l'instance SQL Server Express pour stocker des géodatabases, ajoutez l'utilisateur souhaité au serveur de base de données et accordez-lui des privilèges d'administrateur de serveur.

Erreur : Version introuvable [sde.DEFAULT]

Raison de la réception du message d'erreur

Si vous établissez une connexion à une base de données spatiale et oubliez de modifier la version de sde.DEFAULT, ce message d'erreur s'affiche.

Solution :

Les tables système et la version PAR DEFAUT de géodatabases créées sur les serveurs de bases de données sont toujours détenues par l'utilisateur dbo. Par conséquent, vous devez remplacer la version de connexion, sde.DEFAULT, par dbo.DEFAULT ou toute autre version transactionnelle ou historique disponible.

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 l'application SQL Native Client sur l'ordinateur client. Si vous vous connectez à une base de données SQL Server 2005 Express, vous devez disposer de SQL 2005 Native Client au minimum. Pour vous connecter à une base de données SQL Server 2008 Express, vous devez installer SQL 2008 Native Client.


3/6/2012