locked
Migration to 2.1 RRS feed

  • Question

  • Is there documentation on migrating an existing application from SyncFx 2.0 to 2.1?

    We have deployed applications using SQLSyncProvider. The server is SQL Server 2008, so we can take advantage of the bulk operations (and maybe the filtered sync too).

    My concern is not about the applications per-se, but the databases. Specifically, I would assume that a provisioned database under 2.1 using bulk operations would have different SPs than what we have under 2.0. I also wonder about the format of tracking tables, the contents of the scope and scope info tables etc. etc.

    Sunday, January 9, 2011 4:47 AM

Answers

All replies

  • I found the documentation at the following links useful when converting my applications from SyncFx 2.0 to SyncFx 2.1. Once i changed my references to 2.1, VS2010 soon highlighted the obsolete members.

    What's New in Sync Framework 2.1
    http://msdn.microsoft.com/en-us/library/dd937768(v=SQL.110).aspx

    Sync Framework Backwards Compatibility and Interoperability
    http://msdn.microsoft.com/en-us/library/dd936971(v=SQL.110).aspx

    Upgrading the Metadata Store Version
    http://msdn.microsoft.com/en-us/library/dd937442(v=SQL.110).aspx

    Upgrading the Database Synchronization Community
    http://msdn.microsoft.com/en-us/library/ff928564(v=SQL.110).aspx

    • Marked as answer by Yunwen Bai Tuesday, January 18, 2011 10:11 AM
    Tuesday, January 11, 2011 5:49 PM
  • Eliot,

    Thanks for the links. One of the things that I cannot find is any definite statement that the database itself (tracking tables and or stored procedures) do or do not change.

    Do you know of anywhere where the exact actions of the SqlSyncStoreMetadataUpgrade.UpgradeSyncSchema method are defined?

    I presume at a minimum that it modifies the contents of the records in the objectschema.objectprefix_scope_config (the serialized SqlSyncProviderScopeConfiguration objects). And maybe the objectschema.objectprefix_scope_info table contents too. Although we do deserialize the config object to perform some customized processing, this is not really a concern.

    What does concern me is whether the stored procedures changed (since we have customized some of them) and whether the tracking tables change. I'm hoping that they do not and that the absence of mention of them in the documentation means they do not change.

    Steve

     

    Friday, January 14, 2011 1:04 AM
  • Hi Steve

     

    I dont know where the actions of UpgradeSyncSchema are defined, but i do know that the scope_config and scope_info tables are updated. After a SqlSyncStoreMetadataUpgrade the scope_info table has the field 'scope_name'  renamed to 'sync_scope_name' and an extra field called 'scope_user_comment', as well as the contents changing.

    When i de-provisioned the scope and re-provisioned after an SqlSyncStoreMetadataUpgrade there was an extra field in scope_info called scope_status and three extra SPs for all the provisioned tables, namely _bulkdelete, _bulkinsert and _bulkupdate.

    My SPs aren't customized so i haven't checked whether they are changed after a deprovision and reprovision. I would also assume they are not changed after just a SqlSyncStoreMetadataUpgrade. I guess you want to run through the process on your dev box to be sure.

    Eliot

    Friday, January 14, 2011 5:31 PM
  • the stored procs for the older 2.0 and the bulk procedures in 2.1 are different. you can specify whether you want to use bulk procedures or not by setting SetUseBulkProceduresDefault.

    Tuesday, January 18, 2011 10:54 AM