Servidor MS-SQL 2005:Inicialización de una suscripción combinada con una ubicación de instantánea alternativa

StackOverflow https://stackoverflow.com/questions/125849

Pregunta

Comenzamos una replicación de fusiones en el extranjero hace 1 año y todo va bien hasta ahora.Mi problema es que ahora tenemos tantos datos en nuestro sistema que cualquier falla en uno de los servidores del suscriptor será un desastre:Reiniciar una suscripción de forma estándar llevará días (nuestras conexiones son definitivamente lentas, ¡pero ya muy caras)!Entre las ideas que he estado siguiendo se encuentran las siguientes:

  1. Realice una copia de la base de datos original, congele, envíe los archivos por avión al suscriptor e inicie la replicación sin instantánea:Esto es algo que se hizo tradicionalmente con versiones más antiguas de SQL, pero me suena un poco desordenado:Tendría que poner los datos de mi editor en modo de solo lectura y detener todas las replicaciones hasta que se complete la operación.
  2. Haga una instantánea de los datos, envíe los archivos de instantáneas al extranjero, instálelos en el suscriptor e indique la nueva ubicación de la instantánea como una ubicación alternativa en las propiedades de replicación.Este me suena justo (no es necesario suspender las réplicas en curso, sin congelación de datos), pero, en este punto, Microsoft Ayuda no ...ayuda.

Estoy seguro de que algunos de ustedes ya han experimentado una situación así.¿Cuál fue tu elección?

EDITAR:Por supuesto, uno podría decir "¿Por qué no pruebas tus ideas?", pero llevará horas (múltiples instancias de servidores SQL, máquinas virtuales y todo eso...), y estaba pensando. que el tipo que lo hizo necesitará sólo 2 minutos para explicar su idea.Y sería el hombre más feliz si alguien aceptara perder 2 minutos de su tiempo para ahorrarme horas de duro trabajo...

¿Fue útil?

Solución

Tuve que hacer algo similar a esto al replicar datos de Los Ángeles, CA a China.El complemento habría tardado 44 días en cargarse utilizando métodos normales.

Lo que hice fue configurar la replicación SQL para usar una ruta local a la instantánea.Luego desactivé el trabajo transaccional (en su caso, el trabajo de fusión).Luego ejecuté el complemento.Cerré la cremallera y envié los archivos por FTP desde California a China.Cuando llegaron a China, los descomprimí y los puse en la misma ruta de carpeta que usé en California.

Luego ejecuté distrib.exe desde la línea de comando en el servidor en China.Esto cargó los datos en la tabla en China.Una vez cargado el complemento, apagué el distribuidor en el servidor en China e inicié el distribuidor normal en el servidor en California.

Este método sólo tomó unas 28 horas en lugar de más de un mes.

Si sus datos tardarán más de un par de días en llegar a su destino, entonces deberá editar la publicación y aumentar la cantidad de datos que se pueden poner en cola o se agotará el tiempo de espera del suscriptor y será necesario tomar una nueva instantánea. tomado.

Otros consejos

Acabamos de pasar por algo como esto y no es bonito.Aunque todos los servidores involucrados eran locales, tomó mucho tiempo.

Sólo para hacer las cosas más difíciles, al menos con SQL 2000, la instantánea fallará si la cabina comprimida excede los 4 Gigas.

El mejor consejo que puedo ofrecer es asegurarse de que cada sitio tenga buenas copias de seguridad disponibles.Con esto, al menos los datos no tendrían que ser entregados personalmente al suscriptor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top