Glossary of SQL Data Sync Terms
Updated: December 2, 2014
This topic defines terms you need to know and understand when working with SQL Data Sync (Preview).
The Microsoft Azure SQL Data Sync plug-in on the Microsoft Azure Silverlight portal has been decommissioned. Going forward, use the Microsoft Azure Management portal, for Azure SQL Data Sync.
You access SQL Data Sync (Preview) via the SYNC tab under SQL Database at the Microsoft 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.
The SQL Database client agent sits between the SQL Server database and the SQL Database hub database. As part of the SQL Data Sync (Preview) service the client agent enables bidirectional HTTPS based communication between the on-premise SQL Server database and the SQL Database hub database.
The dashboard gives you an overview of a particular SQL Data Sync (Preview) server's status. For example, the number of sync groups and agents created under this server, synchronization activity, and status of each sync group and agent. This page allows you to do the first level of triage to understand your sync groups' overall health status.
A dataset is the collection of databases, tables, columns, and optional rows (by filtering) that are synchronized each time a sync job is performed. The dataset is defined as you configure your sync group.
When a database is removed from a sync group in the normal fashion, it is deprovisioned for synchronization so that all the sync metadata is cleaned up from the database. However, if the deprovision operation fails for any reason, an error status on the database is displayed that this database failed to be removed from the sync group. You can then fix the issues that stopped the database from being deprovisioned automatically, for example, the network connection is down or the credential to the database is expired. If, for any reason, the deprovision failure reason is unknown delete this database from the sync group by using the “Force Removal” link. This action can leave sync metadata behind inside your database. If this happens, perform a manual cleanup. To cleanup metadata, use the standalone tool (DeprovisioningTool.exe) that is installed when you install an agent. See the FAQ Q: How do I manually deprovision a database?
A hub database is the SQL Database instance that you defined as the "hub" when you created the Sync Group. In a Sync Group, SQL Database instances that are not the hub are "member" databases. For each of the tables selected to participate in a Sync Group, the following steps occur every time a sync job is run: 1) changes in the member databases are uploaded to the hub database, and then 2) changes in the hub database are downloaded to the member databases. After you deploy a sync group, you cannot change which database is the hub database.
A member database is any SQL Server or SQL Database instance that is part of the Sync Group and is not defined as the “hub” database. For more information on how member databases behave during synchronization, see the definition for “Hub Database.” For more information on how member databases behave during a synchronization conflict, see the definition for “Synchronization Conflict.” A member database can be added to or removed from a sync group any time the sync group is not synchronizing.
The current version of SQL Data Sync (Preview).
A sync group is a collection of SQL Database instances and SQL Server databases that are configured for mutual synchronization by the SQL Data Sync (Preview) service. A Sync Group is comprised of a "hub" database and one or more "member" databases. The "hub" database must be a SQL Database instance. See Create a Sync Group for a walk-through that creates a sync group.
A sync job is a scheduled synchronization task that can be added to the Sync Job Schedule, which defines the interval at which scheduled synchronizations are run. When a Sync Job is run, synchronization is executed among the databases in the job's associated sync group.
A sync loop occurs when one sync group's sync triggers the sync of another sync group in a circular fashion. This becomes an infinite loop of synchronizations which can so consume your resources that you cannot even bring up the page. For information on the causes and cures of a sync loop, see Understand and Avoid Synchronization Loops.
A synchronization conflict occurs when changes are made to the same piece of data in two or more databases between synchronizations. The synchronization attempts to apply the changes into a single database. In SQL Data Sync (Preview) Preview, you select the conflict resolution policy when you configure the sync group. See Conflict Resolution when Synchronizing for a fuller explanation.
SQL Data Sync (Preview) uses a hub-spoke topology. The hub database must be a SQL Database instance. The spoke databases can be any combination of SQL Database instances and SQL Server databases.
All synchronizations take place between the hub and a spoke, never directly between spokes. Thus if your sync group is made up of a hub and three spokes, synchronizations are Hub/SpokeA, Hub/SpokeB, and Hub/SpokeC. The order in which these synchronizations take place is nondeterministic and can vary between synchronization tasks.
SQL Data Sync (Preview) is a feature of SQL Database. From the 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 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
SQL Database Data Types supported by SQL Data Sync
Conflict Resolution when Synchronizing
SQL Data Sync Troubleshooting Guide
Glossary of SQL Data Sync Terms
Other ResourcesSQL Data Sync Community Resources
Known SQL Data Sync Issues
Azure Management Portal
SQL Azure Data Sync [Channel 9 videos]
SQL Data Sync Forum