Tutorial: Configuración de SQL Data Sync entre Azure SQL Database y SQL Server

Se aplica a:Azure SQL Database

En este tutorial, aprenderá a configurar SQL Data Sync mediante la creación de un grupo de sincronización que contiene instancias de Azure SQL Database y de SQL Server. El grupo de sincronización está configurado de manera personalizada y se sincroniza según el programa establecido.

En este tutorial se asume que como mínimo tiene algo de experiencia previa con SQL Database y con SQL Server.

Para obtener información general sobre SQL Data Sync, vea Sincronización de datos entre bases de datos locales y de la nube con SQL Data Sync.

Para ejemplos de PowerShell sobre cómo configurar SQL Data Sync, vea Cómo sincronizar datos entre varias bases de datos en SQL Database o entre varias bases de datos de Azure SQL Database y SQL Server.

Importante

La base de datos central es el punto de conexión central de la topología de sincronización, donde un grupo de sincronización tiene varios puntos de conexión de base de datos. Las demás bases de datos miembros con puntos de conexión del grupo de sincronización se sincronizan con la base de datos central.

Actualmente, SQL Data Sync solo se admite en Azure SQL Database. La base de datos central debe ser una base de datos de Azure SQL.

Hiperescala de Azure SQL Database solo se admite como base de datos miembro, no como base de datos central.

Creación de un grupo de sincronización

  1. Vaya a Azure Portal. Busque y seleccione Bases de datos SQL para buscar una instancia de Azure SQL Database existente.

  2. Seleccione la base de datos existente que desea usar como base de datos central para Data Sync.

  3. En el menú del recurso de SQL database para la base de datos seleccionada, seleccione Sincronizar con otras bases de datos en Administración de datos.

  4. En la página Sincronizar con otras bases de datos, seleccione Nuevo grupo de sincronización. Se abre la página Crear grupo de sincronización de datos.

  5. En la página Crear grupo de sincronización de datos, ajuste la siguiente configuración:

    A screenshot from the Create Data Sync page of the Azure portal, creating a new Sync Metadata Database to use with Automatic Sync.

    Configuración Descripción
    Nombre del grupo de sincronización Escriba el nombre del nuevo grupo de sincronización. Este nombre es distinto del nombre de la base de datos.
    Base de datos de metadatos de sincronización Elija esta opción para crear una base de datos (recomendación) o para usar una existente que sirva de base de datos de metadatos de sincronización.

    Microsoft recomienda crear una base de datos nueva y vacía para usarla como Base de datos de metadatos de sincronización. Data Sync crea tablas en esta base de datos y ejecuta una carga de trabajo frecuente. Esta base de datos se comparte como la base de datos de metadatos de sincronización para todos los grupos de sincronización en un región y una suscripción seleccionadas. No puede cambiar la base de datos ni su nombre sin quitar todos los grupos de sincronización y agentes de sincronización de la región.

    Si ha optado por crear una nueva base de datos, seleccione Nueva base de datos. Seleccione Configuración de la base de datos. En la página SQL Database, asigne un nombre a la nueva base de datos de Azure SQL, configúrela y seleccione Aceptar.

    Si ha elegido Usar base de datos existente, selecciónela de la lista desplegable base de datos de metadatos de sincronización.
    Sincronización automática Utilice Activado o Desactivado.

    Si ha elegido Activado, escriba un número y seleccione Segundos, Minutos, Horas o Días en la sección Frecuencia de sincronización.
    La primera sincronización comienza después de que transcurre el período de intervalo seleccionado desde el momento en que se guarda la configuración.
    Resolución de conflictos Seleccione Concentrador Win o Miembro Win.

    Concentrador Win significa que, cuando se produce un conflicto, los datos de la base de datos central sobrescriben los datos en conflicto en la base de datos miembro.

    Miembro Win significa que, cuando se produce un conflicto, los datos de la base de datos miembro sobrescriben los datos en conflicto en la base de datos central.
    Nombre de usuario de la base de datos central y contraseña de la base de datos central Proporcione el nombre de usuario y la contraseña al inicio de sesión del administrador del servidor de autenticación de SQL para la base de datos central. Este es el nombre de usuario y la contraseña del administrador del servidor para el mismo servidor lógico de Azure SQL en el que se inició. No se admite actualmente la autenticación de Microsoft Entra (anteriormente Azure Active Directory).
    Usar vínculo privado Elija un punto de conexión privado administrado por el servicio para establecer una conexión segura entre el servicio de sincronización y la base de datos central.
  6. Seleccione Aceptar y espere a que se cree e implemente el grupo de sincronización.

  7. En la página Nuevo grupo de sincronización, si ha seleccionado Use private link (Usar vínculo privado), deberá aprobar la conexión del punto de conexión privado. El vínculo del mensaje de información le llevará a la experiencia de conexiones del punto de conexión privado, donde puede aprobar la conexión.

    A screenshot from the Azure portal Private Endpoint connections page, showing where to approve a private link.

    Nota:

    Los vínculos privados para el grupo de sincronización y los miembros de sincronización deben crearse, aprobarse y deshabilitarse por separado.

Incorporación de miembros de sincronización

Una vez creado e implementado el nuevo grupo de sincronización, ábralo y acceda a la página Bases de datos, donde seleccionará los miembros de sincronización.

Nota:

Para actualizar o insertar el nombre de usuario y la contraseña en la base de datos central, vaya a la sección Base de datos central de la página Seleccionar miembros de sincronización.

Agregar una base de datos en la base de datos de Azure SQL como miembro a un grupo de sincronización

  1. En la sección Seleccionar miembros de sincronización, tiene la opción de agregar una base de datos de Azure SQL Database al grupo de sincronización si selecciona Agregar una base de datos de Azure. Se abre la página Configurar base de datos de Azure.

    A screenshot from the Azure portal of the Configure Azure Database page, where you can add a database to the sync group.

  2. En la página Configurar Azure SQL Database, cambie las siguientes opciones de configuración:

    Configuración Descripción
    Nombre del miembro de sincronización Proporcione un nombre para el nuevo miembro de sincronización. Este nombre es distinto del de la base de datos.
    Suscripción Seleccione la suscripción de Azure asociada para fines de facturación.
    Azure SQL Server Seleccione el servidor.
    Azure SQL Database Seleccione la base de datos existente en SQL Database.
    Direcciones de sincronización La dirección de sincronización puede ser de la base de datos central al cliente o del cliente a la base de datos central, o ambas opciones. Seleccione Desde el centro de conectividad, Al centro de conectividad o Sincronización bidireccional. Para obtener más información, consulte Funcionamiento.
    Nombre de usuario y Contraseña Escriba las credenciales existentes para el servidor en el que se encuentra la base de datos miembro. No escriba nuevas credenciales en esta sección.
    Usar vínculo privado Elija un punto de conexión privado administrado por el servicio para establecer una conexión segura entre el servicio de sincronización y la base de datos miembro.
  3. Seleccione Aceptar y espere a que el nuevo miembro de sincronización se cree e implemente.

Agregar una base de datos en una instancia de SQL Server como miembro a un grupo de sincronización

  1. En la sección Base de datos de miembros, tiene la opción de agregar una base de datos en una instancia de SQL Server al grupo de sincronización seleccionando Agregar una base de datos local.

  2. Se abrirá la página Configurar localmente, donde podrá hacer lo siguiente:

  3. Seleccione Elegir Sync Agent Gateway. Se abre la página Seleccionar agente de sincronización.

    A screenshot from the Azure portal, in the Configure On-Premises steps. When the Choose the Sync Agent Gateway option is selected, the Select Sync Agent page is shown.

  4. En la página Seleccionar agente de sincronización, elija si quiere usar un agente existente o crear uno.

    Si ha elegido Agentes existentes, seleccione el agente existente de la lista.

    Si ha elegido Crear un agente nuevo, haga lo siguiente:

    1. Descargue el agente de sincronización de datos del vínculo facilitado e instálelo en un servidor diferente de aquel en que se encuentra la instancia de SQL Server. También puede descargar el agente directamente desde SQL Azure Data Sync Agent. Para conocer los procedimientos recomendados sobre el agente de cliente de sincronización, consulte Procedimientos recomendados para Azure SQL Data Sync.

      Importante

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

    2. Escriba un Nombre de agente.

    3. Seleccione Crear y generar clave y copie la clave del agente en el portapapeles.

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

  5. En el servidor donde está instalado el agente cliente sincrónico, busque y ejecute la aplicación Agente de sincronización cliente.

    A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. The Submit Agent Key button is highlighted.

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

    2. En el cuadro de diálogo Configuración de base de datos de metadatos de sincronización, pegue la clave del agente copiada de Azure Portal, Proporcione también las credenciales existentes para el servidor en el que se encuentra la base de datos de metadatos de sincronización. Seleccione Aceptar y espere a que la configuración finalice.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Enter the agent key and server credentials.

      Nota:

      Si recibe un error de firewall, cree una regla de firewall en Azure para permitir el tráfico entrante desde el equipo de SQL Server. Puede crear manualmente la regla en el portal o en SQL Server Management Studio (SSMS). En SSMS, conéctese a la base de datos central en Azure; para ello, escriba el nombre como <hub_database_name>.database.windows.net.

    3. Seleccione Registrar para registrar una instancia de SQL Server Database en el agente. Se abre el cuadro de diálogo Configuración de SQL Server.

      A screenshot from the Microsoft SQL Data Sync 2.0 client agent app. Add and configure a SQL Server database.

    4. En el cuadro de diálogo Configuración de SQL Server, elija conectarse mediante autenticación de SQL Server o autenticación de Windows. Si elige la autenticación de SQL Server, escriba las credenciales existentes. Proporcione el nombre de SQL Server y el nombre de la base de datos que desea sincronizar y seleccione Prueba de conexión para probar la configuración. A continuación, seleccione Guardar y la base de datos registrada aparecerá en la lista.

      A screenshot from the Microsoft SQL Data Sync 2.0 application showing that the SQL Server database and machine are now registered.

    5. Cierre la aplicación del Agente de sincronización cliente.

  6. En Azure Portal, en la página Configurar localmente, seleccione Seleccionar la base de datos.

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

  8. Seleccione Aceptar para cerrar la página Seleccionar base de datos. Después, seleccione Aceptar para cerrar la página Configurar localmente y espere a que el nuevo miembro de sincronización se cree e implemente. Por último, seleccione Aceptar para cerrar la página Seleccionar miembros de sincronización.

Nota:

Para conectarse a SQL Data Sync y al agente local, agregue el nombre de usuario al rol DataSync_Executor. Data Sync crea este rol en la instancia de SQL Server.

Configuración del grupo de sincronización

Una vez creados e implementados los nuevos miembros del grupo de sincronización, vaya a la sección Tablas de la página Grupo de sincronización de la base de datos.

A screenshot from the Azure portal, on the Tables page, select tables and fields to sync.

  1. En la página Tablas, seleccione una base de datos de la lista de miembros del grupo de sincronización y Actualizar esquema. La actualización del esquema puede tardar unos minutos. Si se usa un vínculo privado, la actualización podría demorarse unos minutos más.

  2. En la lista, seleccione las tablas que desea sincronizar. De forma predeterminada se seleccionan todas las columnas; deshabilite la casilla de las columnas que no desee sincronizar. Asegúrese de dejar seleccionada la columna de clave principal.

  3. Seleccione Guardar.

  4. De forma predeterminada, las bases de datos no se sincronizan hasta la ejecución programada o manual. Para la sincronización manual, vaya a la base de datos de SQL Database en Azure Portal, seleccione Sincronizar con otras bases de datos y elija el grupo de sincronización. La página Data Sync se abre. Seleccione Sincronizar.

    A screenshot from the Azure portal showing the manual sync button for a Database Sync Group.

Preguntas más frecuentes

En esta sección se responden las preguntas más frecuentes sobre el servicio Azure SQL Data Sync.

¿Crea SQL Data Sync tablas completas?

Si faltan tablas del esquema de sincronización en la base de datos de destino, SQL Data Sync las crea con las columnas que haya seleccionado. Sin embargo, esto no genera un esquema de total fidelidad por las razones siguientes:

  • Solo las columnas seleccionadas se crean en la tabla de destino. Las que no haya seleccionado se omiten.
  • En la tabla de destino solo se crean los índices de las columnas seleccionadas. Los de las columnas sin seleccionar se ignoran.
  • No se crean índices de las columnas de tipo XML.
  • No se crean restricciones CHECK.
  • No crean desencadenadores en las tablas de origen.
  • No se crean vistas ni procedimientos almacenados.

Debido a estas limitaciones, se recomienda lo siguiente:

  • Para entornos de producción, cree el esquema de total fidelidad personalmente.
  • Al experimentar con el servicio, use la característica de aprovisionamiento automático.

¿Por qué veo tablas que yo no he creado?

Data Sync crea tablas adicionales en la base de datos para hacer un seguimiento de los cambios. No las elimine, ya que Data Sync dejaría de funcionar.

¿Son los datos homogéneos después de una sincronización?

No necesariamente. En un grupo de sincronización con un concentrador y tres radios (A, B y C), se sincroniza el concentrador con A, con B y con C. Si se realiza un cambio en la base de datos A después de que se haya sincronizado el concentrador con A, ese cambio no se aplica en las bases de datos B o C hasta la siguiente tarea de sincronización.

¿Cómo se realizan cambios de esquema en un grupo de sincronización?

Realice todos los cambios de esquema y propáguelos manualmente.

  1. Replique los cambios de esquema manualmente en el centro y en todos los miembros de la sincronización.
  2. Actualice el esquema de sincronización.

Para agregar nuevas tablas y columnas:

Las nuevas tablas y columnas no afectan a la sincronización actual y Data Sync las omite hasta que se agregan al esquema de sincronización. Al agregar nuevos objetos de base de datos, siga este orden:

  1. Agregue las nuevas tablas o columnas al concentrador y a todos los miembros de la sincronización.
  2. Agregue las nuevas tablas o columnas al esquema de sincronización.
  3. Empiece a insertar valores en las nuevas tablas y columnas.

Para cambiar el tipo de datos de una columna:

Al cambiar el tipo de datos de una columna existente, Data Sync funcionará siempre que los nuevos valores se ajusten al tipo de datos original definido en el esquema de sincronización. Por ejemplo, si cambia el tipo de la base de datos de origen de int a bigint, Data Sync continúa funcionando hasta que inserte un valor demasiado grande para el tipo de datos int. Para completar el cambio, replique el cambio de esquema manualmente en el concentrador y en todos los miembros de la sincronización y actualice el esquema de sincronización.

¿Cómo se exporta e importa una base de datos con Data Sync?

Después de exportar una base de datos como archivo .bacpac y de importar dicho archivo para crear una base de datos, realice lo siguiente para usar Data Sync en la nueva base de datos:

  1. Limpie los objetos de Data Sync y las tablas adicionales en la nueva base de datos mediante el script Data Sync complete cleanup.sql. Este script elimina todos los objetos de Data Sync necesarios de la base de datos.
  2. Vuelva a crear el grupo de sincronización con la nueva base de datos. Si ya no necesita el grupo de sincronización antiguo, elimínelo.

¿Dónde puedo encontrar información sobre el agente cliente?

Para ver las preguntas más frecuentes sobre el agente de cliente, consulte Preguntas más frecuentes sobre el agente.

¿Es necesario aprobar manualmente el vínculo antes de poder empezar a usarlo?

Sí. Debe aprobar manualmente el punto de conexión privado administrado por el servicio en la página Conexiones de punto de conexión privado de Azure Portal durante la implementación del grupo de sincronización o mediante PowerShell.

¿Por qué aparece un error de firewall cuando el trabajo de sincronización aprovisiona mi base de datos de Azure?

Quizá porque los recursos de Azure no pueden acceder al servidor. Hay dos soluciones:

  1. Asegúrese de que el firewall de la base de datos de Azure tiene la opción Permitir que los servicios y recursos de Azure accedan a este servidor establecida en . Para más información, consulte Controles de acceso a la red y Azure SQL Database.
  2. Configure un vínculo privado para Data Sync, que es distinto de un Azure Private Link. Private Link es la manera de crear grupos de sincronización mediante una conexión segura con bases de datos que se encuentran detrás de un firewall. SQL Data Sync Private Link es un punto de conexión administrado por Microsoft y crea internamente una subred dentro de la red virtual existente, por lo que no es necesario crear otra red virtual o subred.

Pasos siguientes

Felicidades. Ha creado un grupo de sincronización que incluye una base de datos de Azure SQL y una base de datos de SQL Server.

Para más información sobre SQL Data Sync, consulte:

Para más información sobre SQL Database, consulte: