Nuestro team de especialistas pasados algunos días de trabajo y recopilación de de información, dimos con la solución, nuestro deseo es que resulte de gran utilidad para tu trabajo.
Solución:
Encontré la solución en el siguiente enlace http://www.cryer.co.uk/brian/sqlserver/replication_requires_actual_server_name.htm
agradecido a Brian Cryer por su útil sitio
Citando del enlace para evitar la rotura del enlace:
Porque:
Este error se ha observado en un servidor al que se le cambió el nombre después de la instalación original de SQL Server, y donde la función de configuración de SQL Server @@SERVERNAME
todavía devolvió el nombre original del servidor. Esto puede ser confirmado por:
select @@SERVERNAME
go
Esto debería devolver el nombre del servidor. Si no es así, siga el procedimiento a continuación para corregirlo.
Remedio:
Para resolver el problema, es necesario actualizar el nombre del servidor. Usa lo siguiente:
sp_addserver 'real-server-name', LOCAL
si esto da un error quejándose de que el nombre ya existe, use la siguiente secuencia:
sp_dropserver 'real-server-name'
go
sp_addserver 'real-server-name', LOCAL
go
Si en cambio el error reportado es ‘Ya hay un servidor local.’ luego usa la siguiente secuencia:
sp_dropserver old-server-name
go
sp_addserver real-server-name, LOCAL
go
Donde el “nombre-del-servidor-antiguo” es el nombre contenido en el cuerpo del error original.
Detenga y reinicie SQL Server.
Hay otra solución a este problema, que no requiere **sp_dropserver**
, **sp_addserver**
o reiniciar el servidor.
Pasos:
- Lea el mensaje de error y recuerde el NOMBRE DEL SERVIDOR que está entre comillas.
- Ejecute Sql Server Configuration Manager en la máquina con Management Studio instalado (generalmente del lado del editor/distribuidor);
- Ampliar la Configuración Sql Native 10.0Alias nodo;
- Cree un nuevo alias con el nombre SERVERNAME de 1. debería ser un NetBIOS nombre de la máquina o NetBIOSnombre_instancia para instancias nombradas.
- Especifique las otras opciones para el alias (puerto, servidor y protocolo).
- Repetir 4 y 5 para cliente nativo de 32 bits.
-
Prueba. Ejecute Management Studio en la misma máquina e intente conectarse al servidor (especifique el alias como nombre del servidor).
-
(Opcional) Repetir 2 – 7 para todas las máquinas cliente donde se usará Management Studio para la configuración de la replicación.
¡Eso es todo!
Respuesta corta: verifique si se está conectando con el alias de red incorrecto a través de SSMS
Por ejemplo, su servidor podría ser accesible como ambos:
- MiServidorDeDatos
- MyDataServer.Empresa.Com
Cuando se crea una publicación/suscripción de replicación, se asocia con el nombre utilizado para conectarse al servidor en ese momento; si se conecta con un alias diferente o un nombre completo, aparece el error indicado en la pregunta.
Detalles: me encontré con esto, las respuestas sobre cómo cambiar @@servername me ayudaron a comprender el problema, pero no tenía que hacerlo.
Considera esto:
El cuadro del servidor sql se configuró como my_system_name.local.domain
En nuestra red tenemos un alias de red tal que my_system_alias nos permite llegar al servidor y evitar tener que ingresar el nombre de dominio completo (FQDN).
Se instaló Sql Server y también se configuró una publicación de replicación local mientras se conectaba con el nombre my_system_alias.
Luego me conecté al servidor usando SSMS especificando el FQDN, si hago clic con el botón derecho en las propiedades de esta replicación existente -> Publicación local aparece el error: “La replicación del servidor Sql requiere el nombre real del servidor”.
Todo lo que tenía que hacer: volver a conectarme al servidor en SSMS usando el alias (o al revés) y me permitirá ver los detalles de la publicación de replicación.
PD: el comentario de Phill en otra respuesta también es una alternativa, haciendo una entrada de archivo de hosts que coincida con el nombre que necesita usar para la conexión.
Si te ha resultado de provecho este artículo, agradeceríamos que lo compartas con otros programadores y nos ayudes a dar difusión a nuestra información.