Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se explican varios métodos que puede seguir para trabajar con los esquemas de tablas creados en bases de datos cliente y del mismo nivel.
Sincronización del cliente y el servidor
Durante la sesión de sincronización inicial para un cliente, Sync Framework crea tablas en la base de datos cliente. Para obtener más información, vea Inicializar la base de datos cliente y trabajar con el esquema de tablas. Una vez creadas esas tablas, se permiten algunos cambios de esquema.
Sync Framework no propaga automáticamente los cambios de esquema del servidor al cliente. Para obtener información acerca de cómo controlar los cambios de esquema en el servidor, vea Implementar y controlar las versiones de aplicaciones. Los cambios de esquema siguientes se admiten en la base de datos cliente:
Quitar tablas. El comportamiento durante la próxima sincronización dependerá del valor que se especifique para CreationOption. Si no desea conservar la tabla en el cliente, quítela de SyncTableCollection. Cuando se quita una tabla que tiene habilitado el seguimiento de cambios, también se quita la tabla del sistema que realiza un seguimiento de las operaciones de eliminación en esa tabla. Por consiguiente, no se cargará en el servidor ninguna de las operaciones de eliminación realizadas desde la última sincronización.
Agregar columnas nuevas.
Quitar columnas para las tablas implicadas en la sincronización de instantáneas. Este cambio no se admite para otros tipos de sincronización.
Agregar, quitar y cambiar de nombre índices.
Agregar, quitar y cambiar de nombre claves principales y otras restricciones.
Modificar valores predeterminados.
Los demás cambios no se admiten y pueden causar errores de sincronización.
En algunas aplicaciones, el esquema es diferente en el cliente y el servidor. En los puntos siguientes se resume el comportamiento de una tabla y el conjunto de datos de ADO.NET que Sync Framework utiliza para actualizar esa tabla en el cliente:
Si el conjunto de datos contiene Column1 y Column2; y la tabla contiene Column1, Column2 y Column3: se aplican los valores en Column1 y Column2 y Column3 se establece según su valor predeterminado o en NULL en caso de que la columna no tenga un valor predeterminado.
Si el conjunto de datos contiene Column1, Column2 y Column3, y la tabla contiene Column1 y Column2: se aplican los valores en Column1 y Column2 y se omite Column3 .
Si el conjunto de datos contiene Column1, Column2 y Column3, y la tabla contiene Column1 y Column2, y Column4: se aplican los valores en Column1 y Column2; Column3 se establece en su valor predeterminado o en NULL en caso de que la columna no tenga un valor predeterminado; y Column4 se omite.
Sincronización punto a punto
La sincronización punto a punto no proporciona inicialización automática de bases de datos del mismo nivel ni crea una infraestructura de seguimiento de cambios en cada elemento del mismo nivel. Para obtener información sobre la inicialización de esquema y de datos, vea "Inicializar una base de datos del servidor" en Configurar y ejecutar la sincronización de colaboración (no SQL Server). No hay ninguna restricción sobre cambios de esquema en tablas base de bases de datos del mismo nivel. Sin embargo, las aplicaciones deben garantizar que los comandos que seleccionan y aplican cambios se actualicen si se producen cambios de esquema. Por ejemplo, si agrega una columna a una tabla, el comando para insertar cambios en esa tabla debe actualizarse para incluir la nueva columna.
En situaciones de sincronización punto a punto, el esquema puede diferir entre bases de datos del mismo nivel. Por ejemplo, un esquema de tabla en el primer elemento del mismo nivel puede utilizar nombres de columna numéricos que no son fáciles de leer. Puede utilizar los objetos DbSyncColumnMappingCollection y DbSyncColumnMapping para asignar las columnas a nombres más descriptivos para otros elementos del mismo nivel.
Vea también
Conceptos
Consideraciones sobre el diseño y la implementación de aplicaciones