is partial synchronization possible for a situation descibed below? RRS feed

  • Question

  • hi,

    what could be the best solution for following situation :

    - customers have data on their intranet with lots of records. They used a .net winforms application to maintain this data

    - on the web, they have a web application at their disposal that has the same (but limited) functionality. Therefore, a hosted sql server db is at their disposal on the internet which is synced with the intranetdb.

    - the volume of the db on the web is however limited.

    Is there a possibility to sync only the most recent data, so that on the intranetdb, all data remains available but on the internet, only the most recent data is synced with the intranetdb?

    This could then result that the intranetdb can grow without any problem (e.g. db of 25GB is no exception) while the internetdb can be kept reasonably small (depending on the contract with the customer : e.g. 500MB) : only the data of the last 6 months would then be available on the internetdb : older data would be removed and not synced anymore)

    Monday, October 10, 2011 2:29 PM

All replies

  • That's doable.

    You can apply a filter so that your web db only syncs the most recent data.

    When you want to purge the web db with old data, you can issue a truncate on the web db and since truncate dont fire triggers by default, the deletes will not be recorded in the tracking table and thus will not be synched back to your on-premise db. this will however leave orphaned rows in your tracking tables.

    the other option is to intercept the deleted rows from the web db in the web db provider's ChangesSelected event and removed the deleted rows from the change dataset so they never make it to the on-premise db.

    see: http://jtabadero.wordpress.com/2011/03/07/manipulating-the-change-dataset-in-sync-fx/

    Tuesday, October 11, 2011 2:17 AM