SQList detects changes to the lists by querying the SharePoint change log; in this log, each change is assigned a key named "change token". SharePoint keeps these change in the log for a fixed number of days, then gets rid of them. Then number of days varies for 15 to 60, depending on the version of SharePoint, and can be changed in the Resource Throttling section of the Web Application properties in Central Administration:




When retrieving changes, SQList passes the last change token it processed in the previous synchronisation. If SQList has not run for a number of days longer than the "fixed number of days" mentioned above (e.g. because it was stopped, or there have not been any changes in the SharePoint site - the latter being very unusual), the token that SQList has will be too old, and the "The changeToken refers to a time before the start of the current change log" error will be thrown.

This error is often due to the SQList Service being set to manual start and, and not being restarted after a server reboot. We recommend setting the SQList service to "Automatic (delayed start)".

The only way to fix this issue, and ensure that there is no loss of data, is to force a complete re-sync by running the following SQL statements in each destination database:


delete from [(SQList.ChangeLog)];
delete from [(SQList.ReplicatedLists)];
update [(SQList.Info)] set [ForceProfileReparsing] = 1;


We intend to release an automated handling of this issue in a future version of SQList.

Here are some more information from the web (disclaimer: AxioWorks assumes no responsibility for the content of third party websites):