
Tenemos un par de servidores SQL2000 que sincronizan un par de bases de datos mediante replicación combinada. En algún momento de los últimos meses, el agente de fusión de una de las bases de datos desapareció. Es difícil decir cuándo sucedió esto, este sistema solo se usa realmente durante un par de meses, un par de veces al año.
Hasta donde puedo decir (no soy un experto en replicación), todavía existen suscripciones y publicaciones, pero una de ellas ya no realiza la replicación de combinación debido a la falta de un agente de combinación. El otro se está fusionando y replicando perfectamente.
El esquema sigue siendo el mismo entre las bases de datos, pero los datos han cambiado. El servidor del suscriptor tiene datos más recientes que el servidor del editor.
¿Cuál es la mejor manera de recuperar el agente de fusión? Busqué en BOL, recorrí la web, ¡todas estas cosas de replicación son confusamente aterradoras!
Respuesta1
Sí, da miedo.
Recuerdo que hace un tiempo, si la replicación no se hacía al menos cada 2 semanas (creo), de forma predeterminada, la suscripción caducaba y desaparecía. Han pasado años desde que hice esto, así que esto es realmente confuso. Para nosotros, cuando el uso final se iba de vacaciones durante 2 semanas, la suscripción a las estaciones de trabajo caducaba (antes de los días de Internet de alta velocidad, usábamos replicación combinada para unidades de campo).
Cambiamos la configuración a 6 meses antes de que caduque.
Sin embargo, no sé si ese es tu problema, hubo muchas noches trasnochadas y muchos dolores de cabeza en ese proyecto, todo debido a la replicación... y pesadillas cuando dormíamos.
EDITAR: Algo más que acabo de recordar. La replicación se ejecutará utilizando los permisos que ejecuta la cuenta del Agente SQL. Entonces, si hay algún problema con la cuenta que utiliza el servicio del Agente SQL, eso afectará negativamente a la replicación.
Respuesta2
Tampoco soy un gran experto en replicación, pero cuando tuvimos que rehacer la replicación fusionada, simplemente me aseguro de que el editor tenga los datos más recientes con una herramienta de comparación de datos SQL y vuelva a crear todo. No sé si esa es una opción para todos ustedes, pero nuestras bases de datos son bastante pequeñas y no están geográficamente distantes.
La herramienta que utilizamos es Apex SQL Data Diff. Sin embargo, estoy seguro de que hay muchas otras opciones disponibles.