Replicación de transacciones desde la base de datos SQL Azure al servidor SQL local

Tengo un caso de uso en el que necesito mantener sincronizada una base de datos SQL Server local con mi base de datos de Azure SQL.

¿Hay alguna manera de configurar la replicación / sincronización desde la base de datos de Azure SQL a la base de datos local?

Comentarios

Respuesta

La siguiente lista de artículos podría proporcionar información adecuada para que pueda armar un Azure SQL Data Sync :

SQL Data Sync es un servicio creado en Azure SQL Database que le permite sincronizar los datos que seleccione de forma bidireccional en varias bases de datos SQL e instancias de SQL Server.

( Énfasis mío)

En este tutorial, aprenderá a configurar Azure SQL Data Sync creando un grupo de sincronización híbrido que contenga ambos Azure SQL Database e instancias de SQL Server . El nuevo grupo de sincronización está completamente configurado y se sincroniza según la programación que establezca.
[…]

Agregar una base de datos SQL de Azure

En la sección Base de datos de miembros, agregue opcionalmente una base de datos SQL de Azure al grupo de sincronización seleccionando Agregar una base de datos de Azure. Se abre la página Configure Azure Database.

En la página Configure Azure Database, haga lo siguiente:

  1. En el campo Sync Member Name, proporcione un nombre para el nuevo miembro de sincronización. Este nombre es distinto del nombre de la base de datos en sí.

  2. En el campo Suscripción, seleccione la suscripción de Azure asociada para fines de facturación.

  3. En el campo Azure SQL Server, seleccione el servidor de base de datos SQL existente.

  4. En el campo Azure SQL Database, seleccione la base de datos SQL existente.

  5. En el campo Sincronizar indicaciones, seleccione Sincronización bidireccional, Al centro o Desde el centro.

  6. En los campos Nombre de usuario y Contraseña , ingrese las credenciales existentes para el servidor de la base de datos SQL en el que se encuentra la base de datos miembro. No ingrese nuevas credenciales en esta sección.

  7. Seleccione Aceptar y espere a que se cree e implemente el nuevo miembro de sincronización.

Agregar una base de datos de SQL Server local

En la sección Base de datos de miembros, opcionalmente agregue un SQL Server local al grupo de sincronización seleccionando Agregar una base de datos local. Se abre la página Local.

En la página Configurar local, haga lo siguiente:

  1. Seleccione Elegir la puerta de enlace del agente de sincronización. Se abre la página Seleccionar agente de sincronización. .

  2. En la página Elija la puerta de enlace del agente de sincronización, elija si desea utilizar un agente existente o crear uno nuevo.

    Si eligió Agentes existentes, seleccione el agente existente de la lista.

    Si elige Crear un nuevo agente, haga lo siguiente:

    a. Descargue el software del agente de sincronización del cliente desde el enlace proporcionado e instálelo en la computadora donde se encuentra SQL Server.

    Importante

Debe abrir el puerto TCP saliente 1433 en el firewall para permitir que el agente cliente se comunique con el servidor.

b. Ingrese un nombre para el agente.

c. Seleccione Crear y generar clave.

d. Copie la clave del agente en el portapapeles.

e. Seleccione Aceptar para cerrar la página Seleccionar agente de sincronización.

f. En la computadora con SQL Server, ubique y ejecute la aplicación Client Sync Agent.

g. En la aplicación del agente de sincronización, seleccione Enviar clave de agente. Se abre el cuadro de diálogo Configuración de la base de datos de metadatos de sincronización.

h. En el cuadro de diálogo Configuración de la base de datos de metadatos de sincronización, pegue la clave de agente copiada de Azure Portal. También proporcione las credenciales existentes para el servidor de Azure SQL Database en el que se encuentra la base de datos de metadatos. (Si creó una nueva base de datos de metadatos, esta base de datos se encuentra en el mismo servidor que la base de datos central). Seleccione Aceptar y espere a que finalice la configuración.

Nota Si obtiene un error de firewall en este punto, debe crear una regla de firewall en Azure para permitir el tráfico entrante desde la computadora SQL Server.Puede crear la regla manualmente en el portal, pero puede que le resulte más fácil crearla en SQL Server Management Studio (SSMS). En SSMS, intente conectarse a la base de datos del concentrador en Azure. Ingrese su nombre como <hub_database_name>.database.windows.net. Para configurar la regla de firewall de Azure, siga los pasos del cuadro de diálogo. Luego regrese a la aplicación Client Sync Agent.

i. En la aplicación Client Sync Agent, haga clic en Registrarse para registrar una base de datos de SQL Server con el agente. Se abre el cuadro de diálogo Configuración de SQL Server. j. En el cuadro de diálogo Configuración de SQL Server, elija si desea conectarse mediante la autenticación de SQL Server o la autenticación de Windows. Si eligió la autenticación de SQL Server, ingrese las credenciales existentes. Proporcione el nombre de SQL Server y el nombre de la base de datos que desea sincronizar. Seleccione Probar conexión para probar su configuración. Luego seleccione Guardar. La base de datos registrada aparece en la lista.

k. Ahora puede cerrar la aplicación Client Sync Agent.

l. En el portal, en la página Configure On-Premises, seleccione Seleccionar la base de datos. Se abre la página Seleccionar base de datos.

m. En la página Seleccionar base de datos, en el campo Nombre de miembro de sincronización, proporcione un nombre para el nuevo miembro de sincronización. Este nombre es distinto del nombre de la propia base de datos. Seleccione la base de datos de la lista. En el campo Sincronizar direcciones, seleccione Sincronización bidireccional, Al concentrador o Desde el concentrador.

n. Seleccione Aceptar para cerrar la página Seleccionar base de datos. Luego, seleccione Aceptar para cerrar la página Configurar local y esperar a que se cree e implemente el nuevo miembro de sincronización. Por último, haga clic en Aceptar para cerrar la página Seleccionar miembros de sincronización.

  • Para conectarse a SQL Data Sync y al agente local, agregue su nombre de usuario al rol DataSync_Executor. Data Sync crea esta función en la instancia de SQL Server.

  • Paso 3: configurar el grupo de sincronización

    Una vez que se crean e implementan los nuevos miembros del grupo de sincronización, El paso 3, Configurar el grupo de sincronización, está resaltado en la página Nuevo grupo de sincronización.

    1. En la página Tablas, seleccione una base de datos de la lista de miembros del grupo de sincronización y luego seleccione Actualizar esquema .

    2. De la lista de tablas disponibles, seleccione las tablas que desea sincronizar.

    3. De forma predeterminada, todas las columnas en la tabla están seleccionados. Si no desea sincronizar todas las columnas, desactive la casilla de verificación de las columnas que no desea sincronizar. Asegúrese de dejar seleccionada la columna de clave principal.

    4. Por último, seleccione Guardar.

    SQL Data Sync es un servicio integrado en Azure SQL Database que le permite sincronizar los datos que seleccione de forma bidireccional en varias bases de datos SQL e instancias de SQL Server.

    Data Sync se basa en el concepto de un grupo de sincronización. Un grupo de sincronización es un grupo de bases de datos que desea sincronizar.

    Comentarios

    • Solo anecdóticamente, si bien esta información es correcta, he experimentado un número significativo de problemas con Azure Data Sync hasta el punto en que tuvimos que abandonarlo como una solución en nuestro proyecto. Eso no es ‘ t para decir que no ‘ no funcionaría para el OP, solo que hay casos en los que agregar un montón de disparadores la base de datos para mantener el estado entre 2 servidores independientes no es ‘ la mejor solución.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *