Nous trions de nous-mêmes une balle dans le pied sur un site client en ce qui concerne le Microsoft Sync Framework lors de la résolution d'un problème de production particulière ...Délestage Les bases de données de synchronisation côté client
Nous avons un serveur central que les données système d'enregistrement qui expose un service WCF sur lequel nous utilisons Sync Framework 2.0 pour synchroniser les données avec les instances client déconnectées. (Beaucoup de détails de l'implémentation sont inconnus, c'est une base de code héritée.) Lors du dépannage d'un problème sur la machine d'un utilisateur à un moment donné, il a été décidé de supprimer la base de données locale d'un client particulier et de la remplacer par bonne copie d'un autre client.
Tout semblait pour fonctionner pendant un certain temps. Mais il y avait un détail dans la mise en œuvre qui nous était inconnu à l'époque. La synchronisation suit en interne l'identité de la base de données client. Cela signifiait que le serveur ne pouvait pas distinguer les deux clients. Donc, on synchroniserait leurs données et ensuite l'autre serait laissé dans un état inconnu.
Nous avons identifié des utilisateurs affectés, nous identifions des données affectées et nous réfléchissons à des solutions potentielles. Pour cette dernière partie, je me demande si quelqu'un ici a de l'expérience avec Sync Framework et peut suggérer un plan d'action potentiel?
Une approche potentielle que nous considérons est d'identifier où et comment Sync suit cette identité en interne (peut-être un GUID quelque part?) Et de le changer. Cela semble être le correctif le plus rapide, même si cela nous laisse au moins la nécessité de toucher à nouveau les enregistrements concernés pour les synchroniser de nouveau. Nous ne voulons pas risquer de perdre des données, nous hésitons donc à supprimer les bases de données client et à les réapprovisionner. Mais plus encore, le processus de provisioning d'une nouvelle base de données est un coup important pour les ressources et les temps d'arrêt des utilisateurs dans l'installation actuelle, donc c'est quelque chose à éviter si possible.
Quelqu'un a-t-il de l'expérience avec Sync Framework? Quelqu'un a-t-il déjà fait face à ce problème? Quelles voies d'approche suggérez-vous?
qui utilisez-vous (SqlSyncProvider/SqlCeSyncProvider? Ou SqlCEClientSyncProvider/DbServerSyncProvider?) Et quelle base de données est sur le client (CE? Express?)? – JuneT
@JuneT: SqlSyncProvider avec SQLExpress sur le client. – David