SQL Azure Import/Export Service has been released to Production as of today!!!
SQL Azure Import/Export Service is available at free of charge for SQL Azure customers.
For more information visit the following blog post
SQL Azure Sync CTP2 – Synchronize SQL Azure with On Premise SQL Server and vice versa– How Sync Framework Tracks changes in databases – Part 3
In the previous posts, we saw How to download, install and configure SQL Azure Sync Agent and then How to define Sync Group, Manually run the sync and How to define Schedules to run the Sync automatically
In this post, we will How SQL Azure Sync provisions the databases and How it identifies the changes in the data and upload or download the changes
Open Management Studio and connect to SQL Azure server which we used for Sync Group
And then connect to on premise SQL Server and open Countries database, you can see the Tracking Triggers and Stored Procedures for each tables
If you look at the list of the tables, For each table we added for Sync, a new table has been added for tracking
This table will be populated based on the Trigger created on the Main Data table
Let us insert a new record and see how it works
To verify that there is no city exists with name “Parisppany” we will run the below query on SQL Azure server
The above query returns 0 rows
Now insert a new record for City table in on premise SQL Server, if you see the Output Messages, you will see 3 messages, its due to Adding record in both Tracking table and Main table
Let us check the Main table
Now let us check the Tracking table
The tracking table ID column refers to the Primary Key of main data table and it contains timestamp information to identify when the record was created or updated or deleted
When record is deleted “Sync_Row_Is_TombStone” will be set to 1
Other Tracking Tables:
There are 3 other tracking tables created during Sync Provisioning process
[DataSync].[scope_config_dss] table contains the schema of the tables which are syncronized as XML data
If you open and view the XML Data, you will see the Tables as Adapters, along with details of Tracking tables, Procedures and Triggers used for tracking
I hope this post gives you an idea of How SQL Azure Sync service identifies the changes and updates the data.
Please post your comments !!!
SQL Azure Sync CTP2 – How to Synchronize SQL Azure with On Premise SQL Server and vice versa–Create Sync Groups and Schedules – Part 2
In the last post, we saw how to download, install the SQL Azure Sync Agent and configure it
In this post, we will see how to Create a Sync Group to include SQL Azure database and SQL Server On premise database, Synchronize them, and create a schedule to run them automatically.
Login to https://datasync.sqlazurelabs.com using your Azure account
Click on “New Sync Group” to define a new Sync Group
enter the name of the Sync Group and click on Database combo and select “Register New SQL Azure Database…”
Once selected this option, SQL Azure Database registration screen will popup
Specify the SQL Azure server name, Database name, User name and password and click “Test” to test the connection and then click “Save”
Click “Add” to add the database to Member List and click on “Set Hub” to specify it as main server
Again click on Database combo and select the On Premise database and click “Add”
Once completed adding the Hub and Sync Members, click “Next” to proceed
Select the table you want to Sync from “Available Tables” list and then click on Right Arrow to move to “Selected Tables”
Once done selecting the tables, click on “Create Sync Group”
To synchronize the databases initially, click on “Sync Now” button
Once the sync process starts, it will automatically redirect to “Sync Logs” tab, you can filter the logs by Sync Group and Database.
For initial sync, you will see 3 tasks, Provisioning of SQL Azure database for sync, Provisioning of SQL Server for Sync and then Sync the data
Once the tasks are completed, the Task state icon will change from Execution state to Ready State
To view the detailed log for each task, click on “View Log”
If you see the text marked showed in Yellow, it shows the total number of records downloaded.
Now we have successfully defined a Sync group and synchronized the data from SQL Azure and SQL Server bidirectional,
Let us now setup the Sync Group as a scheduled job
Click on “Sync Groups” and then select the Sync Group and click on “Edit”
In the Edit screen, you add additional Sync Members, you can change the Sycnhronization direction
You can schedule the sync job to run on specific intervals of time
After select the schedule, click on “Save”, Now your sync job will automatically run every 15 minutes once or as per your schedule definition
Now you might be wondering, How the Sync Service identifies the changes made to data, Let us see that in the next post.
I hope you all find this post useful. Please post your comments !!!
SQL Azure Data Sync CTP2 is a SQL Azure Labs beta project which is a cloud-based data synchronization service built on Microsoft Sync Framework.
Using SQL Azure Data Sync you can synchronize data between SQL Azure to SQL Azure or SQL Azure to On Premise SQL Server on specific schedules for the specific tables.
You can sign up for SQL Azure Data Sync CTP2 invite in this website http://connect.microsoft.com/sqlazurectps
In this post, we will see how to Setup a Sync job to synchronize data between SQL Azure and SQL Server bi directionally
Once you received the Invitation Code from Microsoft Connect, you can activate the Sync CTP2 account in SQL Azure Labs (http://connect.microsoft.com/sqlazurectps )
After activating the Invite Code, Please login to https://datasync.sqlazurelabs.com using your Azure account
Sync Dashboard – has options to Manage the Sync Group, Databases (SQL Azure and On Premise SQL Server Databases), Agents
Let us first setup a Agent in Local SQL Server machine, click on “Agents” tab to download the Agent Setup
Click on “AgentServiceSetup.msi” link to save the MSI to your computer where you want to run the setup
Before installing the setup, we need to Generate Agent Key, Agent Key is unique to each Agents (Computers), used for its identification, To generate agent key, click on “Generate Agent Key”
Specify the Name of the Agent, and then click “Generate”
The Agent Key will be generated and saved automatically, to view the Agent’ Key click on the Agent Name,
The Agent Key will be displayed on the right side, Copy that save it for your reference, we will use this during Agent Installation, if you have multiple agents, you need to generate multiple keys. You cannot use the same key for multiple agent installations.
If you notice the Status column, it will be shown as Warning, the reason is Agent is not communicating to the SQL Azure Sync Server.
Let us now install the agent and configure it to communicate to SQL Azure Sync Server
To install the agent, open the folder where you have saved the AgentSerivceSetup.msi and run the setup
Click “Next” to proceed
Select “I Agree” and then Click “Next” to proceed
Specify the Service Account User Name and Password, If you are planning to use Windows Authentication for accessing the databases for Sync Process, please make sure this Service User has permissions to connect to SQL Server and access the databases.
After specify the Service username and password, click “Next” to proceed
Select the installation folder, specify whether to install just for you or for every one and then click “Next” to proceed
Click “Next” to confirm the installation and proceed
Installation will continue
Once the installation is completed, click “Close” to complete the setup.
Before stating the Sync Agent Configuration program, please go to Control Panel –> Administrative Tools –> Service to start the “SQL Azure Data Sync Service”
Right click on the service and then click “Start”
Go to Start Menu –> All Programs –> Microsoft SQL Azure Data Sync CTP, the following two shortcuts will be available
Click on “SQL Azure Data Sync Agent CTP2” to start the Sync Configuration program
Click on “Edit Agent Key” to setup the Agent Key
Copy the Agent Key we saved earlier and paste it here and click “Ok” to proceed
Once saved click on “Ping Sync Service” to check whether the Agent is able to successfully connect to SQL Azure Sync Server
On success connection, you should get this below message
Click “Ok” to proceed and then click “Add Member” to add a new database for doing synchronization
Select the tab based on the authentication you are planning to do, In this demo we are going to “Windows Authentication”, after select the tab, specify the name of the SQL Server Instance and then specify the database and then click “Test Connection”
Once the connection is successful, click on “Save” to save the Sync Member
If you want to change the database or Authentication, click on “Properties” to edit the saved Sync Member.
To delete the Sync Member, use “Delete Member” option
Click on “Check Member Schema” option to verify the selected database schema is compatible for SQL Azure sync
Now you have successfully download the agent, generated the agent key, installed the agent and configured the Agent and Sync Member ready for Sync.
In the next post we will see how to configure the Sync Group and schedule the sync job and synchronize the data between SQL Azure to SQL Server and vice versa.
I hope you all find this information helpful, Please post your comments and feedback !!!
SQL Azure Data Sync is an incubation project in SQL Azure Labs, which provides Hub – Member model based to synchronize databases from one SQL Azure server to another. You can replicate data from one Hub server to multiple member servers.
You can sign up for free beta account in http://www.sqlazurelabs.com/
In this post, we will see how to use SQL Azure Data Sync to synchronize Northwind_DB from Server A to Server B
Step 1 : Once signed up and setup your account, click on “SQL Azure Data Sync” tab
Step 2: Click “Add New” to create a new Synchronization group
Enter Sync Group Name and click Next
Step 3: Click on “Register New Server” to add Hub Server
Repeat Step 3 to add Member Server
Step 4: Select the Hub Server and Member Server to participate in Sync Group and then select the database as well
Once defined the servers and database, click “Next” to proceed
For one Sync Group job, you can have only one Hub server, but you can define multiple jobs to use the Member server as Hub Server in another job
Step 5: Select the tables you want to Sync and click “Finish”
Now you have successfully defined the Sync Group job
Now you can manually run the Sync for first time by clicking on “Sync Now” button
To automatically setup the Sync job to run on specific schedules, click on “Schedule Sync” option
You can setup the job, to run Daily at specific time or Monthly on specific day and time, or Hourly or Weekly on specified days at specified time, once selected your preferred schedule, click “Ok” to proceed
If you double click on the “Sync Demo Group”, you can view the details and log of the job
Click “View Log” to see detailed log
Starting new job. Job ID = 2ccec979-3848-48f5-b0f6-73a90a8ae1d2
Retrieved ScopeName as 625dec91-cd29-465c-98de-e1fe4be221b9
Retrieved Hubendpoint as SERVERA.database.windows.net,Northwind_DB,625dec91-cd29-465c-98de-e1fe4be221b9
Retrieving DbSyncScopeDescription from Hub
Checking to see if Scope 625dec91-cd29-465c-98de-e1fe4be221b9 exists in endpoint SERVERB.database.windows.net,Northwind_DB
Scope doesnt exist. Provisioning server.
Synchronizing Endpoint SERVERB.database.windows.net,Northwind_DB ==> HUB. Conflict Endpoint wins
Total Changes Transferred = 0, Total Changes Failed = 0.
Sync time (in seconds): 5.9.
Synchronizing HUB ==> Endpoint SERVERB.database.windows.net,Northwind_DB. Conflict HUB wins
Total Changes Transfered = 217, Total Changes Failed = 0.
Sync time (in seconds): 6.2.
I hope you all find this information useful. Please don’t use this yet for production, since its an incubation project.