locked
Sync group failed to be provisioned. RRS feed

  • Question

  • I am getting this error when I try to define the data that I want to sync from my on-prem SQL DB to and Azure SQL DB. From the Sync Rules, I am able to refresh the schema, but each time I attempt to save, I get the error message "Sync group failed to be provisioned". I have installed the Sync Agent for the on-prem DB, and registered it. Everything else looks fine, I just can't provision the sync group. I used this link as a reference to try to sync up my DB's http://azure.microsoft.com/en-us/documentation/articles/sql-database-get-started-sql-data-sync/

    Has anyone encountered this issue? And any ideas on the cause and how to resolve it?

    Thanks.

    UPDATE: I am seeing something like this in the logs

    Database provisioning failed with the exception "Invalid column name 'COL1'.Invalid column name 'COL2'. "    For more information, provide tracing ID ‘4e7b699a-073a-4b34-a25b-d8a8c68eab0d’ to customer support.


    • Edited by Spawn10 Thursday, August 21, 2014 6:23 PM
    Thursday, August 21, 2014 3:16 PM

Answers

  • I ended up doing most of the syncing manually. I had to write the schema, insert statements...then when the sync happened, it ran smoothly. I had to create tables with clustered indexes, cause not having one on a table is not supported in azure.
    • Marked as answer by Spawn10 Wednesday, August 27, 2014 7:26 PM
    Wednesday, August 27, 2014 7:26 PM

All replies

  • Hi,

    Please have a check on the scenarios when Provisioning fails.

    Provisioning fails in the following scenarios :

    • The primary key column has a collation defined on it.
    • The SQL Data Sync provisioning process does not create a collation on a primary key column
      in the destination database even though the collation exists on the column in the source database.
    • The name of a table contains a period character (.).
    • When you try to add a table whose name contains a period (.) to a sync data set in a sync group,
      the UI displays only the end name of the table. For example, when you try to add dbo.Test.DataAB table to a sync data set, the UI actually displays dbo.DataAB. If you go ahead and add this table to the sync data set and create the sync group, you won't see any error message. However, provisioning will not occur for the table and also the table dbo.Test.DataAB table is not synchronized at runtime.
    • The column of a table is a computed column.
    • If the total length of schema name and table name (including any square brackets) is greater than 100.

    Sync fails in the following scenarios :

    • The primary key data is changed in a database in a sync group, the changes do not get synchronized over to the rest of the databases in the sync group
    • Two sync groups use different columns from the same table. In this case, one of the sync groups, the one synchronizing last, will fail to sync.
      For example, if sync group 1 uses columns col1 and col2 and sync group 2 uses col2 and col3 from the same table, table A, one of the groups will fail during sync. However, if both the sync groups use exact same columns from a table, the sync would succeed.
    • Two tables with the same name are involved in sync, even if they belong to different schemas.
      The SQL Data Sync service uses the same tracking table for tables with same name even if they belong to different schemas. As a result, changes from both tables are reflected in the same tracking table, potentially causing erroneous data changes during sync.
    • A non-nullable column with no default value is filtered for sync.
    • When you filter out columns that are non-nullable and have no-default values on the schema to sync,
      clients that have filtered version will never be able to sync up their changes, and will always get sync failures.

     Hope this helps.

    Regards,

    Mekh.

    • Proposed as answer by Sofiya Li Friday, August 22, 2014 1:26 AM
    • Unproposed as answer by Spawn10 Friday, August 22, 2014 3:28 AM
    Thursday, August 21, 2014 6:35 PM
  • Mehk Subba, thank you so much for your response. With my scenario, the sync creates the first 10 columns on the table in the clooud, but it then error's out. Which is why my provisioning is not happening. 
    • Proposed as answer by Sofiya Li Friday, August 22, 2014 1:26 AM
    Thursday, August 21, 2014 7:26 PM
  • I ended up doing most of the syncing manually. I had to write the schema, insert statements...then when the sync happened, it ran smoothly. I had to create tables with clustered indexes, cause not having one on a table is not supported in azure.
    • Marked as answer by Spawn10 Wednesday, August 27, 2014 7:26 PM
    Wednesday, August 27, 2014 7:26 PM