SQL Azure Data Sync
This weekend I decided to setup a SQL Azure sync group to synchronize a SQL Azure database with an on-premise replication publisher. I was curious if this would work, as I’ve been unable to find any documentation stating whether or not SQL Azure Data Sync can co-exist with SQL Server Replication. Not only was I able to get this working, but I took it a step further and downloaded the Windows Azure and Windows Phone SDKs — then wrote a quick and dirty Windows Phone app which connects to my SQL Azure sync group hub database and pulls down Customer and related Order data to my mobile device, making it available via a pivot control within the application.
I was able to create a sync group in SQL Azure Data Sync to synchronize the Customer, SalesOrderHeader, and SalesOrderDetail tables in the AdventureWorksLTAZ2008R2 database, which also acted as an on-premise Merge publisher in my local network with 3 subscribers. The solution provided a sync group hub database containing the Merge publication Customer and related Order data, synching one-way from on-premise to the cloud. I settled for synchronizing the sync group every 30 minutes and kept existing subscribers synching with the on-premise publisher on their normal schedules, which was every 1 minute in my test topology.
Windows Phone Application
From here, I created 2 projects — 1 Windows Azure WCF Service Web Role which allows for Windows Phone app interaction with a SQL Azure database using Entity Framework, and 1 Windows Phone application using WCF to connect to the SQL Azure sync group hub database through the service reference and consume the Customer and related Order data through a pivot control.
A couple of screenshots of the app:
As you can see, the potential for SQL Azure Data Sync is interesting. Not only can sync groups be useful in providing an offsite database storage solution, but when synchronized with an on-premise replication publisher, can also provide a mechanism for exposing enterprise data to the cloud to be consumed by mobile devices. SQL Azure Data Sync is currently available for preview and can be found in the Windows Azure Management Portal. More information about SQL Azure Data Sync can be found in SQL Azure Data Sync on MSDN.