none
Sync Services for ADO.net Lots of Unneeded commands sent to SQL Server

    Question

  • I have a syncronization project that conists of close to 30 tables that can be synced by a mobile device.  Everything seems to be working fine except this.  The sync process is executing the following statement to the database between each new anchor command value and it calls to it for every single table (2 times for each table) that could be synced not just the ones that are currently being synced.  For the synchronization of one table that consisted of over 10,000 records (synced at 100 rows per batch) the below statement got called for each table that's defined in the WCF service for a total of over 12,000 times to the database.  That seems to be a problem and I'm sure that I've set up something wrong.  What could be causing it do that?  Thanks for all your help.

    SET FMTONLY OFF; SET NO_BROWSETABLE ON; SET FMTONLY ON;SELECT* FROM [TABLE_NAME] SET FMTONLY OFF; SET NO_BROWSETABLE OFF;


    CEDeveloper

    Thursday, June 27, 2013 3:10 AM

All replies

  • the sync provider you're using is using that command to retrieve the structure of the tables being synched.

    SET FMTONLY ON doesnt actually return rows, just metadata 

    Thursday, June 27, 2013 8:13 AM
  • Thanks JuneT. That makes me feel a little bit better, but why would it call it 2 times for every table in my sync provider and on top of that call it 2 times for everyone of the tables in my sync provider between each retrieval of a new batch anchor value when I'm only syncing the one table.  Wouldn't that cause some performance issues trying to retrieve all of that data when really it only need to call that statement for the 1 table 1 time before the sync of the table began, but ended up calling the command over 12000 times?   

    CEDeveloper

    Thursday, June 27, 2013 4:56 PM