[0x80070534] No mapping between account names and security IDs was done.

SQL Server 2008

Voici le message qui m’a occupé pendant une bonne journée : « Error 0x80070534, No mapping between account names and security IDs was done ».

Après des recherches, des tentatives infructueuses, j’ai fini par trouver la raison de cette erreur. Cela se passait lors de l’installation d’Office Communication Server 2007 R2 sous Windows 2008 64 bits en virtualisé.

Cette erreur est provoquée par Microsoft SQL Server et peut se produire avec les versions 2000, 2005, 2008. Version express et complète.

La raison est « simple », lorsqu’on installe un Windows, un identifiant unique est généré par machine. Cet identifiant est généré dès qu’on rentre dans l’interface graphique de l’installation (Dès le premier redémarrage donc).

Cet identifiant unique est donc copié si on vient à faire des Ghost ou des images virtuelles pré-configuré. Si pour la plupart des applications, cela ne pose pas de problème, pour SQL, le problème empêche de créer le lien entre les login utilisés et où ils le sont.

Pour information, un contrôleur de domaine et les contrôleurs de domaine secondaire ont eu un même numéro de système. D’où le fait qu’il est déconseillé (en plus des problèmes de sécurité) d’installer un SQL sur un contrôleur de domaine primaire et secondaire.

Il faut savoir que cet identifiant n’est pratiquement jamais modifié. L’ajout ou la suppression de la machine d’un domaine ne le modifie pas par exemple.

Quelle solution donc si on souhaite continué à utiliser Ghost ou des images virtuelles pré-configuré ?

Utilisé l’utilitaire newSID permettant de généré et de modifier le System ID de façon automatique. Il est disponible dans la section sysinternals de Microsoft sous NewSID.

La procédure la plus propre est :

  • Installer Windows
  • Installer les softwares ne devant pas être identifié sous le domaine explicitement.
  • Faire la copie Ghost ou du disque Virtuelle.
  • Lancer/installer la copie
  • Lancer l’utilitaire newSID
  • Ajouter la machine dans le domaine
  • L’utilisé normalement

De cette manière, vous ne soufrerez plus de ce problème de SID.