MSSQL_ENG014117

Détails du message

Nom de produit

SQL Server

Version du produit

10.50

Numéro de build du produit

 

ID d'événement

14117

Source de l'événement

MSSQLSERVER

Composant

Moteur de base de données SQL Server

Nom symbolique

Texte du message

'%1!' n'est pas configuré comme base de données de distribution.

Explication

Cette erreur peut se produire si une ou plusieurs des conditions suivantes sont vraies :

  • L'entrée pour la base de données de distribution est manquante dans msdb..MSdistributiondbs.

  • Il n'y a pas d'entrée pour le serveur local dans la base de données master, ou bien l'entrée qui s'y trouve n'est pas correcte.

    La réplication requiert que tous les serveurs d'une topologie soient enregistrés avec le nom d'ordinateur et un nom d'instance facultatif (dans le cas d'une instance cluster, le nom du serveur virtuel SQL Server avec le nom d'instance facultatif). Pour que la réplication fonctionne correctement, la valeur renvoyée par SELECT @@SERVERNAME pour chaque serveur de la topologie doit correspondre au nom d'ordinateur ou au nom de serveur virtuel avec le nom d'instance facultatif.

    La réplication n'est pas prise en charge si vous avez inscrit une des instances SQL Server par adresse IP ou par nom de domaine pleinement qualifié (FQDN). Si vous aviez une des instances SQL Server inscrites par adresse IP ou par nom de domaine pleinement qualifié dans SQL Server Management Studio quand vous avez configuré la réplication, cette erreur a pu se produire.

Action de l'utilisateur

Vérifiez que l'instance du serveur de distribution est inscrite correctement. Si le nom réseau de l'ordinateur et le nom de l'instance SQL Server diffèrent, effectuez une des actions suivantes :

  • Ajoutez le nom de l'instance SQL Server comme nom réseau valide. Pour définir un autre nom réseau, une méthode possible consiste à l'ajouter au fichier hosts local. Le fichier hosts local est installé par défaut dans le répertoire WINDOWS\system32\drivers\etc ou WINNT\system32\drivers\etc. Pour plus d'informations, consultez la documentation Windows.

    Si, par exemple, le nom d'ordinateur est comp1, l'adresse IP de l'ordinateur 10.193.17.129 et le nom de l'instance inst1/nominst, ajoutez l'entrée suivante au fichier des hôtes :

    10.193.17.129 inst1

  • Désactivez la distribution, inscrivez l'instance puis réactivez la distribution. Pour plus d'informations sur la désactivation de la distribution, consultez Désactivation de la publication et de la distribution. Si la valeur de @@SERVERNAME n'est pas correcte pour une instance non-cluster, suivez ces étapes :

    sp_dropserver '<old_name>', 'droplogins'
    go
    sp_addserver '<new_name>', 'local'
    go
    

    Après avoir exécuté la procédure stockée sp_addserver (Transact-SQL), vous devez redémarrer le service SQL Server pour que la modification apportée à @@SERVERNAME soit prise en compte.

    Si la valeur de @@SERVERNAME n'est pas correcte pour une instance cluster, vous devez modifier le nom à l'aide de l'administrateur de cluster. Pour plus d'informations, consultez Mise en route avec le clustering avec basculement de SQL Server 2008 R2.

Après avoir vérifié que l'instance du serveur de distribution est inscrite correctement, vérifiez que la base de données de distribution figure dans msdb..MSdistributiondbs. Si elle ne s'y trouve pas :

  1. Créez un script de la configuration de la distribution. Pour plus d'informations, consultez Création de scripts de réplication.

  2. Désactivez la distribution puis réactivez-la. Pour plus d'informations, consultez Configuration de la distribution.