Configuración de replicación no es correcta cuando SQL Server se implementa mediante una imagen de disco


Síntomas


Distribuir SQL Server 2000 utilizando la imagen de disco duro de otro equipo donde está instalado SQL Server 2000. Si utiliza el Administrador corporativo de SQL Server para configurar un distribuidor de duplicación, la configuración del distribuidor puede no tener éxito y recibirá el siguiente mensaje de error:
El Administrador corporativo de SQL Server no pudo configurar ' <servidor> \ <instancia>' como distribuidor para ' <servidor> \ <instancia>'.
Error 18483: No se pudo conectar al servidor ' <servidor> \ <instancia>' porque 'distributor_admin' no está definido como inicio de sesión remoto en el servidor.

Nota: Si realiza estos pasos en la instancia predeterminada de SQL Server 2000, el nombre de instancia no aparece en el mensaje de error.

También puede ver que el valor de la variable global del sistema de @@SERVERNAME de SQL Server 2000 es diferente del nombre de red del equipo con SQL Server 2000.

Nota: Si experimenta este problema en SQL Server 2005, el mensaje de error es ligeramente diferente. También puede utilizar la solución que se menciona en este artículo para solucionar el problema.

Causa


Al implementar SQL Server 2000 desde una imagen de disco duro de otro equipo donde está instalado SQL Server 2000, se conserva el nombre de red del equipo con imágenes en la nueva instalación. El nombre de red incorrecto hace que la configuración del distribuidor de duplicación un error. El mismo problema se produce si cambia el nombre del equipo después de instalar SQL Server.

Solución alternativa


Para evitar este problema, reemplace el nombre del servidor SQL Server 2000 con el nombre de red correcto del equipo. Para hacerlo, siga estos pasos:
  1. Inicie sesión en el equipo donde implementó SQL Server 2000 desde la imagen de disco y, a continuación, ejecute la siguiente instrucción de Transact-SQL en el analizador de consultas 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. Reinicie el equipo que ejecuta SQL Server.
  3. Para comprobar que el nombre de SQL Server y el nombre de red del equipo son los mismos, ejecute la siguiente instrucción de Transact-SQL en el analizador de consultas SQL:
    SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')

Más información


Puede utilizar la variable global @@SERVERNAME o la función SERVERPROPERTY('ServerName') en SQL Server para buscar el nombre de red del equipo que ejecuta SQL Server. La propiedad ServerName de la función SERVERPROPERTY informa automáticamente el cambio de nombre de red del equipo al reiniciar el equipo y el servicio de SQL Server. La variable global @@SERVERNAME conserva el nombre original del equipo de SQL Server hasta que se restablece manualmente el nombre de SQL Server.

Pasos para reproducir el problema

En el equipo donde implementó SQL Server desde una imagen de disco, siga estos pasos:
  1. Inicie el Administrador corporativo de SQL Server.
  2. Expanda Grupo de SQL Servery, a continuación, haga clic en el nombre de la instancia de SQL Server.
  3. En el menú Herramientas , elija
    Replicación y, a continuación, haga clic en Configurar publicación, suscriptores y distribución.
  4. En el configurar publicar y Asistente para distribución de ' <servidor> \ <instancia>'diálogo cuadro, haga clic en siguiente.
  5. En el cuadro de diálogo Seleccionar distribuidor , haga clic para seleccionar la marca ' <servidor> \ <instancia>' su propio distribuidor; SQL Server creará una base de datos de distribución y un registro y, a continuación, haga clic en siguiente.
  6. En el cuadro de diálogo Configurar el Agente SQL Server , haga clic en siguiente.
  7. En el cuadro de diálogo Especificar la carpeta de instantáneas , haga clic en siguiente.

    Nota: Si recibe un mensaje para confirmar la ruta de la carpeta de instantáneas, haga clic en .
  8. En el cuadro de diálogo Personalizar la configuración , haga clic para activar la casilla de verificación No, utilice la siguiente configuración predeterminada y, a continuación, haga clic en siguiente.
  9. En el cuadro de diálogo Completando el Asistente para la distribución y configurar la publicación , haga clic en
    Finalizar.

Referencias


Para obtener más información acerca de imágenes de disco y las instalaciones de SQL Server, visite los siguientes sitios Web de Microsoft: