none
Sync Framework Timeout when Provisioning & Syncing RRS feed

  • Question

  • I have 2 SQL Server 2012 databases (at different sites) which have been synchronizing successfully for a number of months. I noticed they stopped synchronizing in mid-December with a timeout error. I am unaware of anything happening to the databases around this time.

    So far I tried:

    1. Copy one database to the other site and run the sync there (thus eliminating the VPN between the sites) - still getting timeout messages

    2. Copied both databases to my development machine which is more powerful than the machines used at the sites and tried to sync - timeout messages

    3. Decided that there must be some problem with the sync configuration so deprovisioned the 2 databases and then tried to provision the server database - get timeout messages.

    Error
    System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
    The statement has been terminated. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
    at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
    at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    at Microsoft.Synchronization.Data.SqlServer.SqlSyncTrackingTableHelper.PopulateFromBaseTable(SqlTransaction trans)
    at Microsoft.Synchronization.Data.SqlServer.SqlSyncTableProvisioning.Apply(SqlTransaction trans)
    at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeProvisioning.ApplyScope(SqlConnection connection)
    at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeProvisioning.ApplyInternal(SqlConnection connection)
    at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeProvisioning.Apply()
    at ProvisionServer.Program.Main(String[] args) in D:\Development\VS2010\PawnshopSync\ProvisionServer\Program.cs:line 132
    ClientConnectionId:68eb79b3-7d48-4df0-aa61-d8eded0d9146

    The line referred to above is this:

    serverProvision.Apply();

    So this uses the sync framework so I can't debug that.

    Any ideas what I can do to get to the bottom of this?

    Frank

    Wednesday, January 6, 2016 1:19 PM