Objetos do banco de dados com suporte do Sync Framework
Este tópico descreve o suporte do Sync Framework à sincronização de objetos de banco de dados.
Sincronização ponto a ponto
O DbSyncProvider oferece suporte à sincronização de tabelas. Também oferece suporte a objetos qualificados pelo esquema como Sales.Customer, no qual a tabela Customer é precedida pelo esquema Sales ou pelo proprietário.
A sincronização ponto a ponto não fornece inicialização automática de bancos de dados pares. Portanto, as tabelas não são copiadas para bancos de dados pares durante a sincronização. Para obter mais informações sobre a inicialização do par, consulte "Inicializando um banco de dados de servidor" em Como configurar e executar a sincronização de colaboração (não SQL Server)
Sincronização do cliente e do servidor
O DbServerSyncProvider dá suporte a tabelas de um banco de dados servidor para todos os tipos de sincronização. Ele dá suporte a exibições para instantâneo e sincronização somente para download. Uma única tabela no cliente pode conter dados de várias tabelas no servidor. Para obter mais informações, consulte Como criar exibições de dados em um cliente.
Independentemente de como os dados são armazenados ou representados em um servidor, o SQL Server Compact armazena os dados em tabelas no cliente.
O SQL Server Compact não oferece suporte aos objetos qualificados pelo esquema como Sales.Customer, no qual a tabela Customer é precedida pelo esquema Sales ou pelo proprietário. Se quiser sincronizar a tabela Sales.Customer do banco de dados de exemplo AdventureWorks, especifique um valor de Customer para TableName.
Por padrão, os seguintes objetos não são copiados no banco de dados cliente: restrições FOREIGN KEY, restrições UNIQUE, restrições DEFAULT e a propriedade ROWGUIDCOL do SQL Server. Se quiser esses objetos no banco de dados cliente, adicione-os usando SQL ou adicione-os ao objeto SyncSchema. Para obter mais informações, consulte Como inicializar o banco de dados cliente e trabalhar com esquemas de tabela.
O Sync Framework dá suporte a agrupamentos que diferenciam maiúsculas de minúsculas, mas tem as seguintes limitações:
As colunas de chave primária e as que têm índices ou restrições exclusivas não podem conter valores que são diferentes apenas quanto ao uso de maiúsculas/minúsculas, como VALOR1 e valor1.
Não há suporte para a sincronização de objetos de banco de dados que diferem somente entre maiúsculas e minúsculas, como TABELA1 e tabela1.
O banco de dados no servidor pode participar de várias sessões de sincronização. No entanto, os objetos no banco de dados podem participar de apenas uma sessão de sincronização por vez com um determinado cliente. Se uma tabela estiver sendo sincronizada e o método Synchronize for chamado novamente para essa tabela, o Sync Framework emitirá uma exceção. O banco de dados cliente suporta apenas uma sessão de sincronização de cada vez.