Le programme d’installation de réplication n’est pas réussie lorsque SQL Server est déployé à l’aide d’une image de disque


Symptômes


Vous déployez SQL Server 2000 à l’aide de l’image de disque dur d’un autre ordinateur où est installé SQL Server 2000. Si vous utilisez SQL Server Enterprise Manager pour configurer un distributeur de réplication, la configuration du distributeur n’est peut-être pas réussie, et vous recevez le message d’erreur suivant :
SQL Server Enterprise Manager n’a pas pu configurer « <serveur> \ <Instance> » en tant que distributeur pour ' <serveur> \ <Instance>'.
Erreur 18483 : N’a pas pu se connecter au serveur de ' <serveur> \ <Instance>' car 'distributor_admin' n’est pas définie comme connexion distante au serveur.

Remarque Si vous effectuez ces étapes sur l’instance par défaut de SQL Server 2000, le nom d’instance n’apparaît pas dans le message d’erreur.

Vous pouvez également voir que la valeur de la variable globale du système SQL Server 2000 @@SERVERNAME est différente du nom réseau de l’ordinateur SQL Server 2000.

Remarque Si vous rencontrez ce problème dans SQL Server 2005, le message d’erreur est légèrement différent. Vous pouvez également utiliser la solution de contournement mentionnée dans cet article pour résoudre le problème.

Cause


Lors du déploiement de SQL Server 2000 à partir d’une image de disque dur d’un autre ordinateur où est installé SQL Server 2000, le nom réseau de l’ordinateur dupliqué est conservé dans la nouvelle installation. Le nom de réseau incorrect provoque la configuration du distributeur de réplication échoue. Le même problème se produit si vous renommez l’ordinateur après l’installation de SQL Server.

Solution de contournement


Pour contourner ce problème, remplacez le nom du serveur SQL Server 2000 avec le nom de réseau correct de l’ordinateur. Pour ce faire, procédez comme suit :
  1. Ouvrez une session sur l’ordinateur où vous avez déployé SQL Server 2000 à partir de l’image de disque, puis exécutez l’instruction Transact-SQL suivante dans l’Analyseur de requêtes SQL :
    -- Use the Master database
    USE master
    GO

    -- Declare local variables
    DECLARE @serverproperty_servername varchar(100),
    @servername varchar(100)

    -- Get the value returned by the SERVERPROPERTY system function
    SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))

    -- Get the value returned by @@SERVERNAME global variable
    SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)

    -- Drop the server with incorrect name
    EXEC sp_dropserver @server=@servername

    -- Add the correct server as a local server
    EXEC sp_addserver @server=@serverproperty_servername, @local='local'
  2. Redémarrez l’ordinateur qui exécute SQL Server.
  3. Pour vérifier que le nom de SQL Server et le nom réseau de l’ordinateur sont les mêmes, exécutez l’instruction Transact-SQL suivante dans l’Analyseur de requêtes SQL :
    SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')

Plus d'informations


Vous pouvez utiliser la variable globale @@SERVERNAME ou la fonction SERVERPROPERTY('ServerName') dans SQL Server pour trouver le nom de réseau de l’ordinateur exécutant SQL Server. La propriété ServerName de la fonction SERVERPROPERTY signale automatiquement la modification dans le nom du réseau de l’ordinateur lorsque vous redémarrez l’ordinateur et le service SQL Server. La variable globale @@SERVERNAME conserve le nom de l’ordinateur SQL Server d’origine jusqu'à ce que le nom de SQL Server est réinitialisé manuellement.

Procédure pour reproduire le problème

Sur l’ordinateur où vous avez déployé SQL Server à partir d’une image de disque, procédez comme suit :
  1. Démarrez SQL Server Enterprise Manager.
  2. Développez le Groupe de SQL Server, puis cliquez sur le nom de votre instance de SQL Server.
  3. Dans le menu Outils , pointez sur
    Réplication, puis cliquez sur configurer la publication, les abonnés et la Distribution.
  4. Dans la configurer Assistant Publication et Distribution pour « <serveur> \ <Instance>'boîte de dialogue, cliquez sur suivant.
  5. Dans la boîte de dialogue Sélectionner le distributeur , cliquez sur pour sélectionner la marque de ' <serveur> \ <Instance>' son propre Distributeur ; SQL Server va créer une base de données de distribution et le journal case à cocher, puis cliquez sur suivant.
  6. Dans la boîte de dialogue Configuration de l’Agent SQL Server , cliquez sur suivant.
  7. Dans la boîte de dialogue Spécifier un dossier de capture instantanée , cliquez sur suivant.

    Remarque Si un message s’affiche pour confirmer le chemin d’accès du dossier de capture instantanée, cliquez sur Oui.
  8. Dans la boîte de dialogue Personnaliser la Configuration , activez la case à cocher non, utiliser les paramètres par défaut suivants , puis cliquez sur suivant.
  9. Dans la boîte de dialogue à la fin de l’Assistant de Distribution et configurer la publication , cliquez sur
    Terminer.

Références


Pour plus d’informations sur la création d’images de disque et les installations de SQL Server, visitez les sites Web de Microsoft à l’adresse suivante :