Exportar (0) Imprimir
Expandir todo

Prácticas recomendadas de SQL Data Sync (versión preliminar)

[Este tema forma parte de la documentación de la versión preliminar y está sujeto a cambios en versiones futuras. Los temas en blanco se incluyen como marcadores de posición.]

 

Icono de SQL Azure Data Sync

Bienvenida a SQL Data Sync (Vista previa). Este tema es el quinto y final de los cinco que debe conocer antes de diseñar e implementar un plan de sincronización de datos. Los cinco temas preparatorios son:

El complemento Windows Azure SQL Data Sync del portal Silverlight de Windows Azure se ha dado de baja. A partir de ahora, use el Portal de administración de Windows Azure para Windows Azure SQL Data Sync.

El acceso a SQL Data Sync (Vista previa) se realiza desde la pestaña SYNC de Base de datos SQL en el Portal de administración de Windows Azure. La pestaña SYNC solo está disponible cuando se dispone de uno o varios grupos de sincronización. Vea el tema Crear un grupo de sincronización (SDS) para obtener información sobre cómo crear y modificar un grupo de sincronización desde este portal.

Vea la sección Navegación más abajo para obtener vínculos a temas que debe leer antes de empezar e instrucciones sobre cómo crear y modificar grupos de sincronización.

En este tema

Seguridad y confiabilidad

Agente

  • Instale el agente de cliente usando la cuenta con menos privilegios con acceso al servicio de red.

  • Es mejor si el agente de cliente se instala en un equipo diferente del equipo donde está su SQL Server local.

  • No registre una base de datos local con más de un agente.

    • Incluso aunque vaya a sincronizar tablas diferentes de distintos grupos de sincronización.

    • El registro de una base de datos local con varios agente de cliente puede causar problemas cuando se elimina uno de los grupos de sincronización.

Cuentas de base de datos con privilegios mínimos

  • Para configurar la sincronización:
    Create/Alter Table, Alter Database, Create Procedure, Select/Alter Schema, Create User Defined Type.

  • Para sincronización continuada:
    Select/Insert/Update/Delete en tablas seleccionadas para la sincronización y en metadatos y tablas de seguimiento de sincronización, permiso Execute en procedimientos almacenados creados por nuestro servicio, permiso Execute en tipos de tabla definidos por el usuario.

  • Para cancelar el aprovisionamiento:
    Alter en la parte de tablas de la sincronización, Select/Delete en tablas de metadatos de la sincronización, Control en tablas de seguimiento, procedimientos almacenados y tipos definidos por el usuario de la sincronización.

¿Qué se debe hacer con esta información porque solo hay una credencial para una base de datos en el grupo de sincronización?

  • Cambie las credenciales para las distintas fases (por ejemplo, cred1 para la configuración y cred2 para la sincronización continuada).

  • Cambie el permiso de las credenciales (por ejemplo, cambie el permiso una vez configurada la sincronización).

Dónde encontrar la base de datos central

Escenario empresa a nube:

Mantenga la base de datos central cerca de la mayor concentración del tráfico de bases de datos del grupo de sincronización para minimizar la latencia.

Escenario nube a nube:

Cuando todas las bases de datos de un grupo de sincronización están en un centro de datos, la base de datos central debe estar en el mismo centro de datos. Esto reduce la latencia y el costo de transferencia de datos entre los centros de datos.

Cuando las bases de datos de un grupo de sincronización están en varios centros de datos, la base de datos central debe estar en el mismo centro de datos que la mayoría de las bases de datos y del tráfico de bases de datos.

Escenarios mixtos:

Aplique los principios anteriores a las configuraciones de grupos de sincronización más complejas.

Consideraciones y restricciones de las bases de datos

  • Instancia de Base de datos SQL Tamaño

    Cuando cree una nueva Instancia de Base de datos SQL (https://manage.windows.azure.com), si selecciona Crear personalizado, establezca el tamaño máximo de manera que sea siempre mayor que la base de datos que implemente. Si no establece un tamaño máximo mayor que la base de datos implementada, se producirá un error en la sincronización. Mientras no hay crecimiento automático, puede hacer un ALTER DATABASE para aumentar el tamaño de la base de datos después de crearla. Por supuesto, debe permanecer dentro de los límites de tamaño de Instancia de Base de datos SQL.


    ImportantImportante
    SQL Data Sync (Vista previa) almacena metadatos adicionales con la base de datos. Asegúrese de tenerlo en cuenta a la hora de calcular el espacio necesario.
    La cantidad de sobrecarga adicional se rige por el ancho de las tablas (las tablas estrechas necesitan más sobrecarga) y por la cantidad de tráfico.

  • Límites admitidos en las dimensiones de la base de datos

     

    Dimensión Límite

    Nombres de base de datos, tabla, esquema y columna

    50 caracteres por nombre

    Tablas de un grupo de sincronización

    100

    Columnas de una tabla en un grupo de sincronización

    1000

Consideraciones y restricciones de las tablas

  • Seleccionar tablas

    No todas las tablas de una base de datos tienen por qué estar en un grupo de sincronización. La selección de las tablas que se van a incluir en un grupo de sincronización y las que se van a excluir (o incluir en un grupo de sincronización diferente) puede afectar a la eficiencia y a los costos. Incluya únicamente en un grupo de sincronización las tablas que las necesidades empresariales exijan y las tablas que sean dependientes.

  • Claves principales

    Cada tabla de un grupo de sincronización debe tener una clave principal. El servicio SQL Data Sync (Vista previa) no puede sincronizar las tablas que no tienen una clave principal.

Antes de ponerlo en producción, pruebe el rendimiento de sincronización inicial y continuada para su escenario.

Aprovisionar bases de datos de destino

SQL Data Sync (Vista previa) Vista previa proporciona aprovisionamiento automático básico de bases de datos.

En esta sección se describen las limitaciones del aprovisionamiento de SQL Data Sync (Vista previa).

Limitaciones del aprovisionamiento automático

A continuación se indican las limitaciones del aprovisionamiento automático de SQL Data Sync (Vista previa).

  • En la tabla de destino solo se crean las columnas seleccionadas.
    Por tanto, si algunas columnas no forman parte del grupo de sincronización, esas columnas no se aprovisionan en las tablas de destino.

  • Solo se crean índices para las columnas seleccionadas.
    Si el índice de la tabla de origen tiene columnas que no forman parte del grupo de sincronización, esos índices no se aprovisionan en las tablas de destino.

  • No se aprovisionan los índices en columnas de tipo XML.

  • No se aprovisionan las restricciones CHECK.

  • No se aprovisionan los desencadenadores existentes en las tablas de origen.

  • No se crean vistas ni procedimientos almacenados en la base de datos de destino.

Recomendaciones

  • Use la capacidad de aprovisionamiento automático solo para probar el servicio.

  • En el caso de producción, debe aprovisionar el esquema de la base de datos.

Evitar una sincronización inicial lenta y costosa

Esta sección describe la sincronización inicial de un grupo de sincronización y lo que puede hacer para evitar que una sincronización inicial tarde más tiempo del necesario y cueste más de lo que debería.

Comportamiento de SQL Data Sync (Vista previa)

Al crear un grupo de sincronización, comience con los datos de una sola base de datos. Si tiene datos en varias bases de datos, SQL Data Sync (Vista previa) trata cada fila como un conflicto que necesita una resolución. Esto hace que la sincronización inicial vaya muy lenta y tarde entre varios días y varios meses, según el tamaño de la base de datos.

Además, si las bases de datos están en distintos centros de datos, el costo de la sincronización inicial será superior al necesario puesto que cada fila debe viajar entre los diferentes centros de datos.

Recomendación

Siempre que sea posible, comience con datos solo de las bases de datos del grupo de sincronización.

Consideraciones de programación de la sincronización

  • Costos

    Aunque el servicio SQL Data Sync (Vista previa) se ofrece actualmente de forma gratuita, se aplicarán gastos de Base de datos SQL a los datos que se muevan hacia y desde centros de datos de Base de datos SQL. Por tanto, debe sincronizar las tablas que sean estables o contengan datos que no es necesario actualizar con frecuencia en una programación diaria o semanal. Las tablas que contienen información confidencial o datos que son más volátiles se sincronizan mejor en una programación más frecuente. Analice sus necesidades empresariales y cree el Grupo de sincronización y las programaciones debidamente.

    A medida que entren y salgan datos de un centro de datos, puede haber también gastos de entrada y salida.

  • Frecuencia

    Si intenta sincronizar un grupo de sincronización que no ha completado una sincronización, la sincronización ni siquiera comenzará. No hay una indicación visible de que la sincronización no tuvo lugar. Por tanto, es conveniente programar las sincronizaciones de modo que cada sincronización tenga tiempo de completarse antes de intentar otra sincronización.

    Por ejemplo:

    Si programa un grupo de sincronización para que se sincronice cada cinco minutos, T0, T0+5, T0+10…, pero el grupo tarda seis minutos en completar una sincronización, las sincronizaciones tendrán lugar en T0, T0+10 T0+20 y así sucesivamente. Se produce un error en T0+5 y T0+15 porque las sincronizaciones T0 y T0+10 no se han completado a tiempo.

Diseño para evitar bucles de sincronización

Un bucle de sincronización se produce cuando hay referencias circulares dentro de un grupo de sincronización de forma que cada cambio en una base de datos se replica en las bases de datos del grupo de sincronización de forma circular y sin fin. Conviene evitar los bucles de sincronización porque degradan el rendimiento y pueden incrementar significativamente los costos.

Para obtener información más detallada sobre los bucles de sincronización con ejemplos de diseños que los producen y cómo cambiar el diseño para evitarlos, vea el tema Entender y evitar los bucles de sincronización.

Evitar bases de datos y grupos de sincronización obsoletos

Un grupo de sincronización o una base de datos dentro de un grupo de sincronización puede llegar a estar obsoleto. Cuando el estado de un grupo de sincronización es “obsoleto”, deja de funcionar. Cuando el estado de una base de datos es “obsoleto”, se pueden perder datos. Es mejor evitar estas situaciones que recuperarse de ellas.

Evitar bases de datos obsoletas

El estado de una base de datos se establece en obsoleto cuando ha estado sin conexión durante 45 días o más. Para evitar el estado obsoleto de una base de datos, asegúrese de que ninguna de las bases de datos esté sin conexión durante 45 días o más. Vea el tema Una base de datos tiene un estado “Obsoleto” para saber cómo recuperarse de una base de datos que tiene un estado obsoleto.

Evitar grupos de sincronización obsoletos

Un grupo de sincronización está obsoleto cuando cualquier cambio dentro del grupo de sincronización no puede propagarse al resto del grupo durante 45 días o más. Para evitar el estado obsoleto de un grupo de sincronización, examine periódicamente el registro del historial del mismo y asegúrese de que todos los conflictos se resuelvan y los cambios se propaguen correctamente en las bases de datos del grupo de sincronización.

Entre las razones por las que un grupo de sincronización puede no aplicar un cambio se incluyen las siguientes:

Para impedir grupos de sincronización obsoletos, haga lo siguiente:

Vea el tema Un grupo de sincronización tiene un estado “Obsoleto” para saber cómo recuperarse de un grupo de sincronización que tiene un estado obsoleto.

Evitar problemas de cancelación del aprovisionamiento

En determinadas circunstancias, al cancelar el registro de una base de datos con un agente de cliente se pueden producir errores en las sincronizaciones.

Escenario:

  1. El grupo de sincronización A se creó con una Instancia de Base de datos SQL y una base de datos local de SQL Server que está asociada al agente local 1.

  2. La misma base de datos local se registra con el agente local 2 (este agente no está asociado a ningún grupo de sincronización).

  3. Al cancelar el registro de la base de datos local del agente local 2 se quitan las tablas de seguimiento y de metadatos del grupo de sincronización A para la base de datos local.

  4. Ahora, se produce el siguiente error en las operaciones del grupo de sincronización A:
    "No se pudo completar la operación actual porque la base de datos no se ha aprovisionado para la sincronización o no tiene permisos para las tablas de configuración de sincronización".

Solución:

  • Para evitar la situación, no registre nunca una base de datos con más de un agente.

  • Para recuperarse de esta situación:

    1. Quite la base de datos de cada grupo de sincronización al que pertenezca.

    2. Vuelva a agregar la base de datos a cada grupo de sincronización del que la quitó.

    3. Implemente cada grupo de sincronización afectado (lo que aprovisiona la base de datos).

Controlar los cambios que no se propagan

Razones por las que los cambios no se propagan

El hecho de que los cambios no se propaguen puede deberse a muchas razones. He aquí algunas causas posibles:

  • Incompatibilidad del esquema y el tipo de datos.

  • Se ha intentado insertar valores NULL en columnas que no admiten valores NULL.

  • Infracción de restricciones de clave externa.

¿Qué ocurre cuando los cambios no se propagan?

  • El grupo de sincronización se muestra en un estado de advertencia.

  • Pueden verse los detalles en el visor del registro de la interfaz de usuario del portal.

  • Si el problema no se resuelve durante 45 días, la base de datos queda obsoleta.


    noteNota
    Esos cambios nunca se propagarán. La única forma de recuperarse de este error es volver a crear el grupo de sincronización.

Recomendación

Supervise periódicamente el estado de los grupos de sincronización y de las bases de datos a través del portal y de la interfaz de usuario del registro.

Modificar el grupo de sincronización

No intente quitar una base de datos de un grupo de sincronización y editar después el grupo de sincronización sin implementar primero uno de los cambios.

En primer lugar, quite una base de datos de un grupo de sincronización. Después, implemente el cambio y espere hasta que se complete la cancelación del aprovisionamiento. Una vez completada, puede editar el grupo de sincronización e implementar los cambios.

Si intenta quitar una base de datos y editar después un grupo de sincronización sin implementar primero uno de los cambios, se producirá un error en una de las dos operaciones y la interfaz de usuario puede quedar en un estado incoherente. Sin embargo, si esto ocurre, puede actualizar la interfaz de usuario para restaurar el estado correcto.

Vea Prácticas recomendadas para actualizar grupos de sincronización para conocer prácticas recomendadas adicionales.

Navegación

SQL Data Sync (Vista previa) es una característica de Base de datos SQL. Desde el Portal de administración de Windows Azure puede realizar todas las tareas necesarias para crear, implementar y modificar un grupo de sincronización.

 

Crear un grupo de sincronización

Hay seis pasos para crear un grupo de sincronización desde el Portal de administración de Windows Azure. Los detalles de cada paso se pueden encontrar siguiendo estos vínculos.

  1. Inicie sesión en el Portal de administración de la Base de datos SQL de Windows Azure
    SQL Data Sync (Vista previa) se encuentra como pestaña debajo de Base de datos SQL solo cuando se crea un grupo de sincronización.

  2. Instalar un agente cliente de SQL Data Sync (versión preliminar)

  3. Registrar una base de datos de SQL Server con un agente cliente

  4. Crear el grupo de sincronización (SDS)

  5. Definir los datos de sincronización (SDS)

  6. Configurar el grupo de sincronización (SDS)

Modificar un grupo de sincronización

Puede modificar un esquema de un grupo de sincronización agregando o quitando las tablas o columnas del grupo de sincronización o alterando el tipo de datos o el ancho de la columna. Los detalles se pueden encontrar siguiendo los vínculos.

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft