none
Sync Failed Due to Insufficient Diskspace

    Question

  • Hi,

    We use the Sync Framework to sync a database between our SQL 2008 server & the cloud, uploading a set of tables and then download another set. Our console application basically follow this example:

        http://blogs.msdn.com/b/sync/archive/2010/09/24/how-to-sync-large-sql-server-databases-to-sql-azure.aspx

    The database is over 10GB in size. The synchronization runs fine in the beginning and rows get populated in the destination tables, but eventually the batch files it creates will fill out the local disk and then it will give an error:

        Microsoft.Synchronization.Data.DbSyncException: An unexpected error occurred when applying batch file C:\DOCUME~1\UserA~1\LOCALS~1\Temp\1\sync_5fddb4d4b6784b97bb8dba04c5405d726bed0eac5dd8447ba10a5cda005e157e\9e930a84-54b8-463d-904d-a7e904bf4339.batch. See the inner exception for more details. ---> System.IO.IOException: There is not enough space on the disk.

    How can I specify the maximum size these batch files can grow to? Can I specify these files to be created in a different folder in a drive with more space? More importantly how do I dispose the batch files once it's no longer needed?


    Thanks,
    WB
    ywb
    Wednesday, July 20, 2011 4:09 PM

All replies

  • you can specify the location of the batch files thru the BatchingDirectory property. By default, Sync Fx should be cleaning up the batching directory. If you're using n-tier/wcf, you should implement a process to do the cleanup especially in cases where the sync process is aborted.

    am not sure you can put a cap on the maximum size of the batch directory. The size of each file is determined by the MemoryDataCache size and Sync Fx will create as many batch files necessary to spool and transmit the changes.

    Thursday, July 21, 2011 1:36 AM
  • Thank you for the reply!
    ywb
    Thursday, July 21, 2011 3:34 PM
  • you can specify the location of the batch files thru the BatchingDirectory property. By default, Sync Fx should be cleaning up the batching directory. If you're using n-tier/wcf, you should implement a process to do the cleanup especially in cases where the sync process is aborted.

    am not sure you can put a cap on the maximum size of the batch directory. The size of each file is determined by the MemoryDataCache size and Sync Fx will create as many batch files necessary to spool and transmit the changes.

    You mentioned in your response that if we use n-tier/wcf, we should implement a process to do a cleanup. I do abort/dispose of the process after each sync call and in a recent update to my software, I am getting a ' there is not enough disk space" error message being generated, which is new.

    can you perhaps shed some light on the cleanup process and/or offer some clarity on why I am suddenly getting the " there is not enough disk space" error.

    This is only on a device (Intermec CN50) with 512MB memory, so there is ample space to perform the action.

    Thanking you in advance.

    Friday, July 12, 2013 8:18 AM
  • if you look at your batching directory and you see files in there, then the cleanup is not completing.
    Friday, July 12, 2013 10:16 AM
  • if you look at your batching directory and you see files in there, then the cleanup is not completing.
    I forgot to mention the fact that I do not make use of batching and I am using the rather outdated, Sync Framework for ADO.Net 1.0.
    Friday, July 12, 2013 10:44 AM