Updated row is not tracked by sync frame work, hence sync is not working on Updted rows RRS feed

  • Question

  • Hi,

    I have enabled Sync framework on my database, server is Sql server 2008 and client is Sql express 2008 R2, ihave huge data in the database, hence Sync is not able to provision, so i have created a empty database and enabled sync framework on these databases, then i have ran my SSIS packages to load the data, as triggers wont fire when SSIS loads the data into database using BCP, my data is loaded both the ends server and client, now i know my client and server is identical and sync should work there after

    Now if i update any of existing row in a table, _tracking table is not updating, when i look at the sync triggers and stored procs what i understood is _tracking table should have a record of each row in main table then only, sync will update the metadata and _selectchanges storedproc selects the modified row

    my question is, if my table has data and _tracking table doesnt have any records in it, will sync frame work identifies the updated rows (not inserted rows)???




    Thursday, September 9, 2010 3:00 PM

All replies

  • Sync Fx will not be able to enumerate changes if the tracking tables are not populated. the selectchanges sp does a join between the base table and the tracking table.

    since the insert triggers didnt fire when you did the BCP, the tracking table was never populated. When you do the update, the update trigger will try to update the corresponding row in the tracking table, again, there is nothing to update in the tracking table.

    are you not able to provision the database because of timeout issues? v2.1 now allows you to specify command timeout.

    other alternative includes inserting the rows in table by batches or you can look at the insert trigger and run the same commands that the triggers does.

    Thursday, September 9, 2010 4:18 PM