suscriptor servidores replicacion replica publicador instantanea datos sql-server database synchronization

replicacion - ¿Cómo sincronizar bases de datos en diferentes servidores en SQL Server 2008?



replicacion de servidores (5)

Tengo 2 bases de datos que tienen la misma estructura, una en una máquina local y otra en el servidor de la empresa. Cada cantidad de tiempo determinada, los datos de la base de datos local deben sincronizarse con la base de datos del servidor.

Tengo una idea general sobre cómo hacer esto: crear un script que de alguna manera "fusione" la información que no se encuentra en la base de datos del servidor, y luego ejecutar este script como un trabajo programado para el servidor. Sin embargo, mi problema radica en el hecho de que no tengo mucha experiencia con esto.

¿SQL Server Management Studio proporciona una forma fácil de hacer esto (algún tipo de asistente) y genera este tipo de script? ¿Es esto algo que tendré que construir desde cero?

He hecho algunas búsquedas básicas en Google y encontré el término "Replicación", pero no lo entiendo completamente. Preferiría escuchar algunos comentarios de personas que realmente han hecho esto o que son buenos explicando este tipo de cosas.

Gracias.



Hay algunas excelentes herramientas de terceros por ahí. Para mí, xSQL Data Compare siempre ha hecho el truco. Y como las comparaciones son altamente modificables, es adecuada para casi todos los escenarios de comparación de datos o sincronización de datos. ¡Espero que esto ayude!


La replicación parece ser una buena opción para esto, pero habría algunos gastos generales (no gastos técnicos, pero el conocimiento debe ser compatible).

Otra opción de SQL Server es SSIS. SSIS proporciona herramientas gráficas para diseñar lo que estás tratando de hacer. El paquete SSIS también puede ejecutar sentencias de SQL, si es apropiado. Un paquete SSIS se puede iniciar y, por lo tanto, programar, desde un trabajo de SQL Server.

Debe considerar la complejidad de las reglas de sincronización al elegir su solución. Por ejemplo, sería difícil resolver conflictos, como una clave duplicada, al fusionar los datos. Un script SQL puede ser fácil de crear si las reglas son simples. Pero, las reglas de conflicto complejas pueden ser más difíciles de implementar en un script (o replicación).


Lo que desea es la replicación transaccional punto a punto , que permite actualizar los datos en ambas bases de datos y mantenerlos sincronizados mediante una combinación de cambios contiguos. Esta es la coincidencia más cercana a lo que desea, pero es una opción bastante costosa (requiere Enterprise Edition en ambos sitios). Otra opción es la replicación transaccional bidireccional , pero como esto requiere también dos licencias de EE, digo que es más fácil de implementar por igual el mismo dinero.

Una opción más accesible para el presupuesto son las suscripciones actualizables para la replicación transaccional , pero las suscripciones actualizables están en desuso y usted apostaría su dinero a un caballo perdedor.

Otra opción es utilizar la replicación de mezcla . Y, por último, para los casos en que la base de datos ''local'' es bastante móvil, existe Sync Framework .

Tenga en cuenta que todas estas opciones requieren cierta configuración y cooperación de la base de datos del servidor de la Compañía.


SQL Server Management Studio lamentablemente no ofrece mucho de esta manera.

Debería echar un vistazo serio a algunas de las excelentes ofertas comerciales que existen:

Todos cuestan dinero, pero si lo tomas en serio y los usas en tu rutina diaria, se pagan en poco tiempo, vale la pena cada centavo.

La única opción "gratuita" que tiene en SQL Server 2008 sería crear un enlace entre los dos servidores y luego usar algo como la declaración MERGE (nueva en SQL Server 2008) para transferir los datos. Eso no funciona para los cambios estructurales, y se limita solo a tener una conexión activa entre los dos servidores.