Synchronizing a Local Database with the Cloud using SQL Azure Sync Framework

Thursday, 31 December 2009 08:28 by SyntaxC4

I’ve been looking at different aspects of Windows Azure over the past few months, and have been having a lot of fun getting a grip on Cloud Computing and Microsoft's Cloud Computing Platform. One of my past posts gives a step-by-step tutorial on how to connect to SQL Azure using Microsoft SQL Server 2008 R2 (November CTP). If you haven’t already done so I would suggest reading Making Data Rain Down from the Cloud with SQL Azure to follow along with this tutorial.

Book Details
Windows Azure Platform book cover
  • By Tejaswi Redkar
  • ISBN13: 9781430224792
  • ISBN10: 1430224797
  • 624 pp.
  • Pub Date: 2009-12-29
  • eBook Price: $31.49

Purchase eBook


I received an email a few days ago from Apress Books suggesting me the book to the left due to my previous purchase of Introducing Windows Azure.  Both books cover the Windows Azure Storage Services API, and SQL Azure. The Introducing Windows Azure book covers Azure .NET Services, which was renamed to the AppFabric Services which is covered in Windows Azure Platform. This name change was announced during the first keynote [View Keynote] of PDC 2009. Along with Codename "Dallas" [Data as a Service], Microsoft Pinpoint Marketplace.

Codename Dallas is built on top of Windows Azure and SQL Azure. Dallas will supply developers with Data as a Service, as part of the Open Data Movement in the United States. If this doesn’t get you excited about Microsoft’s Cloud Computing Platform, I’m not sure what will.  To ensure that you can develop on the cloud and use the SQL Azure Database Platform to your advantage read forward as I’ll be showing you how to Migrate a database to the cloud with SQL Azure Data Sync, which is an extension of the Microsoft Sync Framework.

 

To begin you will have to download the Microsoft Sync Framework 2.0 Software Development Kit (SDK) and the Microsoft Sync Framework Power Pack for SQL Azure November CTP (32-bit) and if you don’t already have a SQL Azure Account you can get one here at the SQL Azure Data Sync Developer Quick Start page.

Once you have your SQL Azure Account, you will need to provision a new database in the cloud and change the firewall settings so the local computer can connect to and modify the database.  These steps are provided in Making Data Rain Down from the Cloud with SQL Azure. Now that we’ve got our SQL Azure firewall database set up we’re ready to sync a local database into the cloud.

When you first fire up SQL Azure Data Sync you will see this Introduction screen. [Hopefully future releases of this tool will allow you to check a box to skip this screen, like other SQL Server Tools.]

SQL-Azure-Data-Sync-Intro

Hitting next on the Introduction screen will take you to the SQL Azure configuration screen where you will need to enter the details for your SQL Azure Account. For this step you will need to login to your SQL Azure account to figure out what server your database server is hosted on. Fill out the database information required, like you see below.

SQL-Azure-Data-Sync-Setup-AzureDB

A good thing to note here is that this database should not be created in the cloud already, the data sync tool will be creating the database from the local instance you will be setting the details up for in the next step. So lets click next and enter the information for our local Database.

SQL-Azure-Data-Sync-Setup-LocalDB

Once you have both databases configured [and tested] you’re ready to select the tables you wish to synchronize or create in the cloud database.

SQL-Azure-Data-Sync-Tables

Due to the fact Relational Databases have Foreign Keys to link data from one table to the next you may need to synchronize the database in a particular order to maintain data integrity. If you have data in your tables and your tables are related to one another be sure to place the Primary Key table, before the Foreign Key table. Here is the screen that will allow you to order your tables in order they should be synchronized.

SQL-Azure-Data-Sync-Tables-Order

After you have reorganized the order in which your tables are to be synchronized, you will be shuffled off to a Summary page. This page outlines the Database Server, and asks if it is to create a 1GB Database, or a 10GB Database in the cloud.

SQL-Azure-Data-Sync-Summary

After Reviewing the information and selecting the database size that should be created. Click on the Process button to Copy the local Microsoft SQL Server database to SQL Azure.

SQL-Azure-Data-Sync-Process

SQL-Azure-Data-Sync-Progress

Once this process is complete the Microsoft SQL Server has been created on the specified SQL Azure Database server. The Synchronization is carried out by SQL Server Agent, be sure to copy down the Job name from the Finish Setup screen.

SQL-Azure-Data-Sync-Results

You may need to Configure SQL Server Agent before the first time the Synchronization is run.

SQL Azure Data Sync is a great way to deploy your current databases into the cloud. You can use the cloud as a method of backing up your current infrastructure or you can start expanding into the cloud as a more economical solution of expanding your current data centers. As we count down to the New Year it seems fitting to think about moving into the future of Technology. Happy New Years!

Working with Windows Azure Development Storage

Wednesday, 23 December 2009 18:06 by SyntaxC4

During the Development Cycle it is necessary to connect to a database to ensure that your data is getting stored in Windows Azure Storage Services. Microsoft was nice enough to give us this functionality out of the box so we don’t actually need a Windows Azure account before beginning development on an application. Of course you will need to Initialize your Development Storage Service on your development machine before you get going.  Once you’re done setting up the Development Storage Service you will need to configure the Development Storage in the ServiceConfiguration.cscfg file.  You will need to add the following ConfigurationSettings to each Role element in the ServiceConfiguration.cscfg [Please note that these are default values and may be subject to change].

   1:  <ConfigurationSettings>
   2:        <Setting name="DiagnosticsConnectionString" 
                      value="UseDevelopmentStorage=true" />
   3:        <Setting name="AccountName" value="devstoreaccount1" />
   4:        <Setting name="AccountSharedKey" 
                      value="Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsu
                             Fq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==" />
   5:        <Setting name="BlobStorageEndpoint" value="http://127.0.0.1:1000" />
   6:        <Setting name="QueueStorageEndpoint" value="http://127.0.0.1:1001" />
   7:        <Setting name="TableStorageEndpoint" value="http://127.0.0.1:1002"/>
   8:  </ConfigurationSettings>

Once you have these configuration settings in place you will be ready to interact with the Windows Azure Development Storage Service on your Development Machine.  Stay tuned for my next blog Series which will describe the different between Blob Storage, Queue Storage, and Table Storage and how you will go about interacting with the different storage spaces.

For more information please refer to:

Give a Buck, and share the love.

Monday, 21 December 2009 18:22 by SyntaxC4

“Look, If you had one buck or one opportunity. To share a magical dollar with someone for something they’ve always wanted, in one moment, would you hash-tag it or just let it slip?”

This holiday Season Angie Lim, Darius Bashar, and Andrew Peek are challenging you to inspire a friend to kick start a dream, project, or something they’ve always wanted to do. Your mission is to donate a thought, an inspiration, a moment to someone other than yourself.

Who would you give a magical dollar to? Think about it, it could be a tough choice. When you’re ready to Give a Buck follow these steps:

  1. Log onto your www.twitter.com account
  2. @reply to someone you know, care about, believe in and want to encourage
  3. Hashtag #giveabuck on your tweet to have it show up on the site
  4. Check out www.giveabuck.ca to hear about others who’ve decided to #giveabuck

Why give a buck?

If they can inspire 1000 #giveabuck’s by the end of the 2009 year, they pledge to do a polar bear swim in January.

I have already put forward my name to join them in their polar bear swim. So be sure to #giveabuck.

Giving is not an act. It’s a way of life and a mentality.  In the remaining days of 2009, let’s see how many times we can spend a thought on someone else other than ourselves. -- #GiveaBuck

Setting up the Development Storage Service

Sunday, 20 December 2009 19:42 by SyntaxC4

If you are setting up your Development Environment for Windows Azure and want to avoid installing SQL Server Express. I didn’t want to use SQL Server Express because I’ve already installed SQL Server 2008 R2 CTP so I can interact with my SQL Azure Database in the Cloud.

From the command line, Navigate to the Windows Azure SDK directory.

cd "C:\Program Files\Windows Azure SDK\v1.0\bin\devstore"

Then you will Launch the Development Storage Initialization Tool [DSInit.exe]. You will need to set the SqlInstance [/sqlinstance:] that you wish to create the tables on, and you will need to force [/forceCreate] the tool to create the tables.

DSInit.exe /sqlinstance:<YourDatabaseName>/forceCreate

This will launch the Initialization Tool.

Development Storage Initialization 
If you receive the error message below you it is most likely because the instance name was improperly set. Ensure to be use only the InstanceName do not include periods or slashes.

Development Storage Initialization Error
After your Development Storage is set up make sure you  go into your Development Fabric and Start the Development Storage Service.

Happy Coding!

Azure at PDC 2009: Replays Now Available!

Sunday, 20 December 2009 16:01 by SyntaxC4

Did you miss out going to Microsoft PDC this year? Want to keep up with what went on in the Windows Azure Sessions? Be sure you check out the Windows Azure Team Blog for the videos of each of the sessions.

For your convince I’ve copied the list below:

If you would like to check out some more Videos on Windows Azure make sure to head over to msdev.com.

Categories:  
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | RSS

About SyntaxC4:

  • Cory Fowler
  • Guelph, Ontario
  • English
  • SyntaxC4

SyntaxC4 Tweets:

Posts by Date:

<<  July 2010  >>
MoTuWeThFrSaSu
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Archive:

Advertisements:

Tag Cloud:

Favourite Publishers:

Apress Daily Deal
Apress Daily Deal

Blog Roll: