Known SQL Data Sync (Preview) Issues
This article covers issues that are known to the SQL Data Sync (Preview) team but for which there are no workarounds.
We will add to and update this article as new issues are discovered. If workarounds are discovered we will move the sub-topic to the SQL Data Sync (Preview)Troubleshooting Guide or SQL Data Sync (Preview) Best Practices.
The Windows Azure SQL Data Sync plug-in on the Windows Azure Silverlight portal has been decommissioned. Going forward, use the Windows Azure Management portal, for Windows Azure SQL Data Sync.
You access SQL Data Sync (Preview) via the SYNC tab under SQL Database at the Windows Azure Management portal. The SYNC tab is only available when you have one or more sync groups. See the topic How To: Create a Sync Group (SDS) for guidance on creating and modifying a sync group from this portal.
See the Navigation section below for links to topics you should read before you start and guidance on creating and modifying sync groups.
In this topic
Client Agent Preview does not work
You get the following error messages:
"Sync failed with exception There was an error while trying to deserialize parameter www.microsoft.com/.../05:GetBatchInfoResult. Please see InnerException for more details.
Inner exception message: Type 'Microsoft.Synchronization.ChangeBatch' is an invalid collection type since it does not have a default constructor."
The SQL Data Sync (Preview) Preview client agent currently does not work with Windows 8 Developer Preview. Additionally the client agent currently won't work with .NET Framework 4.5.
Provisioning fails in the following scenarios
The primary key column has a collation defined on it.
The SQL Data Sync (Preview) 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 primary key column of a table is not clustered and a clustered index exists on another column.
The table name or a column name contains white space other than the space character, such as a tab character.
The column of a table is a computed column.
If the length of either the schema name or the table name (including any square brackets) is greater than 50.
Sync fails in the following scenarios
The identity column of a table is not a primary key.
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.
Add a new column to tables that are part of an existing sync group, the new sync group that is created from the updated tables fails to sync on local databases.
Two tables with the same name are involved in sync, even if they belong to different schemas. The SQL Data Sync (Preview) 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.
The identity constraints for a table column are different on the endpoints.
Insert an XML string in a SQL Database instance that does not match the typed XML definition in SQL Server.
The target table of the MERGE statement has enabled rules.
Member database is added with no sync group associated with it
When you cancel creating a sync group after you add a database to the group, the database still shows up under Member Databases node even though it is not associated with a sync group.
SQL Data Sync does not support concurrent actions
SQL Data Sync (Preview) does not support performing concurrent operations such as adding a database and sync group concurrently. This is most likely to happen when working on a sync group from multiple computers. Be sure one operation finishes before you start another.
SQL Data Sync and Federated databases
SQL Data Sync (Preview) currently does not support a Federated database endpoint. A Federation root database can be added to the sync group like any other database. Federated tables are not supported in sync; however, non-federated tables that may exist in a Federated database can sync.
If you have pressing requirement for a Federated database to be in the sync group, please state your scenario and vote for this feature at the SQL Data Sync Feature Voting site or at the SQL Database MSDN forum.
Erroneous data changes during sync
Provisioning uses the same tracking table for tables with the same name but in different schemas. As a result, changes from both tables are reflected in the same tracking table, potentially causing erroneous data changes during sync.
Adding SQL Database instances to a sync group fails
An existing sync group contains multiple databases. If you try to add a database that already exists in the group, an error message is displayed. If you then deploy the sync group, none of the databases are added to the group.
SQL Data Sync (Preview) is a feature of SQL Database. From the Windows Azure Management portal you can perform all tasks necessary to create, deploy, and modify a sync group.
Before you start
Before you begin to design and implement your synchronizations, you should be familiar with these topics.
How to create a sync group
There are six steps to creating a sync group from the Windows Azure Management portal. Details on each step can be found by following these links.
How to modify a sync group
You can modify a sync group’s schema by adding/removing tables or columns in the sync group; or by altering a column’s width or data type. Details can be found by following the links.
ConceptsSQL Data Sync (Preview)
SQL Data Sync (Preview) Community Resources
SQL Database Data Types supported by SQL Data Sync (Preview)
Conflict Resolution when Synchronizing
Known SQL Data Sync (Preview) Issues
SQL Data Sync (Preview)Troubleshooting Guide
Glossary of SQL Data Sync Terms
Other ResourcesWindows Azure Management Portal
SQL Azure Data Sync [Channel 9 videos]
SQL Data Sync Forum
Microsoft Sync Framework Dev Center