Data Sync Agent para SQL Data Sync
Se aplica a: Azure SQL Database
Importante
SQL Data Sync se retirará el 30 de septiembre de 2027. Considere la posibilidad de migrar a soluciones alternativas de replicación o sincronización de datos.
Sincronice los datos con bases de datos de SQL Server mediante la instalación y configuración del Data Sync Agent para SQL Data Sync en Azure. Para obtener más información sobre SQL Data Sync, consulte ¿Qué es SQL Data Sync para Azure?
SQL Data Sync no es compatible con Azure SQL Managed Instance ni con Azure Synapse Analytics.
Descargar e instalar
Precaución
Considere la posibilidad de migrar a soluciones alternativas de replicación o sincronización de datos.
Para descargar Data Sync Agent, vaya a SQL Azure Data Sync Agent. Para actualizar Data Sync Agent, instálelo en la misma ubicación que el agente anterior para invalidar este.
Instalar en modo silencioso
Para instalar el agente de sincronización de datos en modo silencioso desde el símbolo del sistema, escriba un comando similar al del ejemplo siguiente. Compruebe el nombre del archivo .msi descargado y proporcione sus propios valores para los argumentos TARGETDIR y SERVICEACCOUNT.
Si no proporciona ningún valor para TARGETDIR, el valor predeterminado es
C:\Program Files (x86)\Microsoft SQL Data Sync 2.0
.Si proporciona
LocalSystem
como el valor de SERVICEACCOUNT, use la autenticación de SQL Server cuando configure el agente para conectarse a SQL Server.Si proporciona una cuenta de usuario de dominio o una cuenta de usuario local como el valor de SERVICEACCOUNT, también debe proporcionar la contraseña con el argumento SERVICEPASSWORD. Por ejemplo,
SERVICEACCOUNT="<domain>\<user>" SERVICEPASSWORD="<password>"
.
msiexec /i "SQLDataSyncAgent-2.0-x86-ENU.msi" TARGETDIR="C:\Program Files (x86)\Microsoft SQL Data Sync 2.0" SERVICEACCOUNT="LocalSystem" /qn
Sincronización de datos con una base de datos de SQL Server
Para configurar Data Sync Agent de modo que pueda sincronizar datos con una o varias bases de datos de SQL Server, consulte Adición de una base de datos de SQL Server.
Preguntas frecuentes del agente de sincronización de datos
¿Por qué se necesita un agente cliente?
El servicio SQL Data Sync se comunica con bases de datos de SQL Server a través del agente cliente. Esta función de seguridad evita la comunicación directa con las bases de datos detrás de un firewall. Cuando el servicio SQL Data Sync se comunica con el agente, lo hace mediante conexiones cifradas y un token o clave del agente únicos. Las bases de datos de SQL Server autentican el agente mediante la cadena de conexión y la clave del agente. Este diseño proporciona un alto nivel de seguridad para los datos.
¿Cuántas instancias de la interfaz de usuario del agente local pueden ejecutarse?
Solo se puede ejecutar una instancia de la interfaz de usuario.
¿Cómo puedo cambiar mi cuenta de servicio?
Después de instalar un agente cliente, la única manera de cambiar la cuenta de servicio es desinstalarlo e instalar un nuevo agente cliente con la nueva cuenta de servicio.
¿Cómo puedo cambiar la clave del agente?
Un agente solo puede usar una clave del agente una vez. No se puede reutilizar si se quita el agente y se instala uno nuevo, ni tampoco puede ser utilizada por varios agentes. Si necesita crear una nueva clave para un agente existente, debe asegurarse de que la misma clave esté registrada con el agente cliente y el servicio SQL Data Sync.
¿Cómo se puede retirar un agente cliente?
Para invalidar o retirar un agente inmediatamente, vuelva a generar su clave en el portal pero no la envíe en la interfaz de usuario del agente. Al regenerar una clave, se invalida la clave anterior, independientemente de si el agente correspondiente está conectado o desconectado.
¿Cómo muevo un agente cliente a otro equipo?
Si desea ejecutar el agente local desde otro equipo distinto al equipo en el que está actualmente y reutilizar el mismo agente, siga los siguientes pasos:
- Instale el agente en el equipo deseado.
- Inicie sesión en el portal de SQL Data Sync y regenere una clave del agente para el agente existente.
- Use la interfaz de usuario del nuevo agente para enviar la clave del agente.
- Espere mientras el agente cliente descarga la lista de bases de datos locales que se registraron anteriormente.
- Proporcione las credenciales de todas las bases de datos que se muestren como inaccesibles. Estas bases de datos deben ser accesibles desde el nuevo equipo en el que está instalado el agente.
¿Cómo elimino la base de datos de metadatos de sincronización si el agente de sincronización todavía está asociado a ella?
Para eliminar una base de datos de metadatos de sincronización que tenga asociado un agente de sincronización, primero tiene que eliminar el agente de sincronización. Para eliminar al agente, realice las siguientes operaciones:
- Seleccione la base de datos de sincronización.
- Vaya a la página Sincronizar con otras bases de datos.
- Seleccione el agente de sincronización y seleccione Eliminar.
Solucionar problemas del agente de sincronización de datos
La instalación, desinstalación o reparación del agente cliente produce un error
El agente cliente no funciona cuando cancelo la desinstalación
El agente cliente no se puede eliminar del portal si no se puede acceder a su base de datos local
La instalación, desinstalación o reparación del agente cliente produce un error
Causa. Muchos escenarios pueden provocar este error. Para determinar cuál es la causa concreta, debe examinar los registros.
Resolución. Para encontrar la causa específica del error, debe generar y examinar los registros de Windows Installer. Puede activar el registro desde el símbolo del sistema. Por ejemplo, si el archivo de instalación descargado es
SQLDataSyncAgent-2.0-x86-ENU.msi
, genere y examine los archivos de registro mediante las siguientes líneas de comandos:Para las instalaciones:
msiexec.exe /i SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log
Para las desinstalaciones:
msiexec.exe /x SQLDataSyncAgent-2.0-x86-ENU.msi /l*v LocalAgentSetup.Log
También puede activar el registro para todas las instalaciones realizadas por Windows Installer. En el artículo de Microsoft Knowledge Base Cómo habilitar el registro de Windows Installer se proporciona una solución de un solo clic para activar el registro en Windows Installer. También indica la ubicación de los registros.
El agente cliente no funciona cuando cancelo la desinstalación
El agente cliente no funciona aunque cancele su desinstalación.
Causa. Este problema se produce porque el agente cliente de SQL Data Sync no almacena credenciales.
Resolución. Puede probar estas dos soluciones:
- Use services.msc para volver a introducir las credenciales para el agente cliente.
- Desinstale este agente cliente y, después, instale uno nuevo. Descargue e instale el agente cliente más reciente del Centro de descarga.
Mi base de datos no aparece en la lista del agente
Al intentar agregar una base de datos existente de SQL Server a un grupo de sincronización, la base de datos no aparece en la lista de agentes.
Estos escenarios pueden provocar este error:
Causa. El agente cliente y el grupo de sincronización se encuentran en distintos centros de datos.
Resolución. El agente cliente y el grupo de sincronización deben estar en el mismo centro de datos. Para configurar esto, tiene dos opciones:
- Cree un nuevo agente en el centro de datos donde se encuentra el grupo de sincronización. Registre la base de datos con ese agente.
- Elimine el grupo de sincronización actual. A continuación, vuelva a crear el grupo de sincronización en el centro de datos donde se encuentra el agente.
Causa. La lista de agentes cliente de la base de datos no está actualizada.
Resolución. Detenga y reinicie el servicio de agente cliente.
El agente local descarga la lista de bases de datos asociadas solo la primera vez que se envía la clave del agente. No descarga la lista de bases de datos asociadas en los envíos posteriores de la clave del agente. Las bases de datos que se registran durante un traslado del agente no aparecen en la instancia original del agente.
El agente cliente no se inicia (error 1069)
El agente no se está ejecutando en un equipo que hospeda SQL Server. Al intentar iniciar manualmente el agente, verá un cuadro de diálogo con el mensaje "Error 1069: el servicio no se inició debido a un error de inicio de sesión".
Causa. Una causa probable de este error es que la contraseña del servidor local ha cambiado desde que creó el agente y la contraseña del agente.
Resolución. Actualice la contraseña del agente con su contraseña actual del servidor:
- Busque el servicio del agente de cliente de SQL Data Sync.
a. Seleccione Inicio.
b. En el cuadro de búsqueda, escriba services.msc.
c. En los resultados de la búsqueda, haga clic en Servicios.
d. En la ventana Servicios, desplácese hasta la entrada Agente de SQL Data Sync. - Haga clic con el botón derecho en Agente de SQL Data Sync y seleccione Detener.
- Haga clic con el botón derecho en Agente de SQL Data Sync y seleccione Propiedades.
- En Propiedades del agente de SQL Data Sync, seleccione la pestaña Inicio de sesión.
- En el cuadro de texto Contraseña, escriba su contraseña.
- En el cuadro de texto Confirmar contraseña, vuelva a escribir su contraseña.
- Seleccione Aplicar y luego Aceptar.
- En la ventana Servicios, haga clic con el botón derecho en el servicio Agente de SQL Data Sync y, después, seleccione Iniciar.
- Cierre la ventana Servicios.
- Busque el servicio del agente de cliente de SQL Data Sync.
No puedo enviar la clave del agente
Después de crear o volver a crear una clave para un agente, intenta enviar esa clave a través de la aplicación SqlAzureDataSyncAgent y no se puede completar el envío.
Requisitos previos. Antes de continuar, compruebe los siguientes requisitos previos:
El servicio de Windows SQL Data Sync se está ejecutando.
La cuenta del servicio de Windows SQL Data Sync tiene acceso a la red.
El puerto 1433 saliente está abierto en la regla de firewall local.
Se agrega la dirección IP local al servidor o la regla de firewall de base de datos para la base de datos de metadatos de sincronización.
Causa. La clave del agente identifica de forma única cada agente local. La clave debe cumplir dos condiciones:
- La clave del agente cliente del servidor de SQL Data Sync y del equipo local deben ser idénticas.
- La clave del agente cliente solo se puede usar una vez.
Resolución. Si el agente no funciona, es porque una de estas condiciones o ninguna de las dos se cumplen. Para que el agente vuelva a funcionar:
- Genere una nueva clave.
- Aplique la nueva clave al agente.
Para aplicar la nueva clave al agente:
- En el Explorador de archivos, vaya al directorio de instalación del agente. El directorio de instalación predeterminado es C:Archivos de programa (x86) Microsoft SQL Data Sync.
- Haga doble clic en el subdirectorio bin.
- Abra la aplicación SqlAzureDataSyncAgent.
- Seleccione Enviar clave del agente.
- Pegue la clave del portapapeles en el espacio proporcionado.
- Seleccione Aceptar.
- Cierre el programa.
El agente cliente no se puede eliminar del portal si no se puede acceder a su base de datos local
Si no se puede acceder a un punto de conexión local (es decir, a una base de datos) que está registrado en un agente cliente de SQL Data Sync (versión preliminar), dicho agente no se puede eliminar.
Causa. El agente local no se puede eliminar porque la base de datos a la que no se puede acceder sigue registrada con el agente. Al intentar eliminar el agente, el proceso de eliminación intenta acceder a la base de datos, en la que se produce un error.
Resolución. Use "Forzar eliminación" para eliminar la base de datos a la que no se puede acceder.
Nota:
Si tras una eliminación forzada, las tablas de metadatos de sincronización permanecen, use deprovisioningutil.exe
para limpiarlas.
La aplicación local del agente de sincronización no se puede conectar al servicio de sincronización local
Resolución. Realice estos pasos:
- Salga de la aplicación.
- Abra el panel Servicios de componentes.
a. En el cuadro de búsqueda de la barra de tareas, escriba services.msc.
b. En los resultados de la búsqueda, haga doble clic en Servicios. - Detenga el servicio SQL Data Sync.
- Reinicie el servicio SQL Data Sync.
- Vuelva a abrir la aplicación.
Ejecutar el agente de sincronización de datos desde el símbolo del sistema
Puede ejecutar los siguientes comandos del agente de sincronización de datos desde el símbolo del sistema:
Hacer ping en el servicio
Uso
SqlDataSyncAgentCommand.exe -action pingsyncservice
Ejemplo
SqlDataSyncAgentCommand.exe -action "pingsyncservice"
Mostrar bases de datos registradas
Uso
SqlDataSyncAgentCommand.exe -action displayregistereddatabases
Ejemplo
SqlDataSyncAgentCommand.exe -action "displayregistereddatabases"
Enviar la clave del agente
Uso
Usage: SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key] -username [user name] -password [password]
Ejemplo
SqlDataSyncAgentCommand.exe -action submitagentkey -agentkey [agent key generated from portal, PowerShell, or API] -username [user name to sync metadata database] -password [user name to sync metadata database]
Registrar una base de datos
Uso
SqlDataSyncAgentCommand.exe -action registerdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name] -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]
Ejemplos
SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true
SqlDataSyncAgentCommand.exe -action "registerdatabase" -serverName localhost -databaseName testdb -authentication windows -encryption true
Anular el registro de una base de datos
Cuando use este comando para anular el registro de una base de datos, este desaprovisiona completamente la base de datos. Si la base de datos forma parte de otros grupos de sincronización, esta operación interrumpe los otros grupos de sincronización.
Uso
SqlDataSyncAgentCommand.exe -action unregisterdatabase -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name]
Ejemplo
SqlDataSyncAgentCommand.exe -action "unregisterdatabase" -serverName localhost -databaseName testdb
Actualización de credenciales
Uso
SqlDataSyncAgentCommand.exe -action updatecredential -servername [on-premisesdatabase server name] -databasename [on-premisesdatabase name] -username [domain\\username] -password [password] -authentication [sql or windows] -encryption [true or false]
Ejemplos
SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication sql -username <user name> -password <password> -encryption true
SqlDataSyncAgentCommand.exe -action "updatecredential" -serverName localhost -databaseName testdb -authentication windows -encryption true
Contenido relacionado
Para obtener más información sobre SQL Data Sync, vea los siguientes artículos:
- Introducción: Sincronización de datos entre varias bases de datos locales y en la nube con SQL Data Sync en Azure
- Configuración de Data Sync
- En el portal, Tutorial: Configuración de SQL Data Sync para sincronizar datos entre Azure SQL Database y SQL Server
- Con PowerShell
- Procedimientos recomendados: Procedimientos recomendados para Azure SQL Data Sync
- Supervisión: Monitor SQL Data Sync with Azure Monitor logs (Supervisión de SQL Data Sync con registros de Azure Monitor)
- Solución de problemas: Solución de problemas de Azure SQL Data Sync
- Actualización del esquema sincrónico