Windows Azure and SQL Database Tutorials

Windows Azure and SQL Database Tutorials

These Windows Azure and SQL Database (formerly SQL Azure) tutorials are designed for beginners who have some .NET development experience. Using a common scenario, each tutorial introduces one or two Windows Azure features or components. Even though each tutorial builds upon the previous ones, the tutorials are self-contained and can be used without completing the previous tutorials.

The first four tutorials demonstrate how to use roles, Windows Azure Storage services, and SQL Database, which are the basics for learning Windows Azure.

 Note
If you wish to contribute to this page, use the Edit tab at the top (sign-in required). If you wish to provide feedback for this documentation please either send e-mail to azuredocs@microsoft.com or use the Comment field at the bottom of this page (sign-in required).

Tutorials

If you like, you can write a tutorial and add it to the list. Here are some ideas:

  • Alternate versions of the tutorials in Ruby or Java
  • Connecting to SQL Database using JDBC
  • Migrating schema and data

Return to Top


Before You Begin the Tutorials

Preparing the Local Development Environment

For configuration instructions, see How to Prepare the Windows Azure Compute Emulator at http://msdn.microsoft.com/en-us/library/gg433136.aspx

Installing the Tutorial Files

Download the tutorial files from http://archive.msdn.microsoft.com/Project/Download/FileDownload.aspx?ProjectName=AzureTutorials&DownloadId=15390. Extract the files to the C root directory. The tutorial files contain the following folders:

  • CodeSnippets contains the code snippets used for developing the application.
  • CompletedSolution contains the completed solution. If you run into a problem, you can compare your code with the code in this folder.
  • GolferMessageBoard contains the application you created in the previous tutorials. This is the application that the current application is based on.
  • TutorialFiles contains the files that you will need to import into your project.

Note: This release of the tutorials only provide the C# code samples.

Installing the Code Snippets

For convenience, much of the code that you need to type while executing the tutorials is available as Visual Studio code snippets.

After installing the tutorial files, you can find the code snippets in the C:\AzureTutorials\Tutorial[#]\CodeSnippets folder.

You must install the code snippets manually by copying the contents from one folder to another for each of the 2 folders listed in the table below.

Copy from Paste to
C:\AzureTutorials\Tutorial[#]\CodeSnippets\Visual Web Developer ..\My Documents\Visual Studio 2010\Code Snippets\Visual Web Developer\My Code Snippets
C:\AzureTutorials\Tutorial[#]\CodeSnippets\Visual C# ..\My Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets

 

Using the Code Snippets

With code snippets, you have all the code you need at your fingertips. You can use the following procedure to add a code snippet:

  1. Right-click where you want to insert the code snippet, and then click Insert Snippet.
  2. Click My Code Snippets or My HTML Snippets, click Windows Azure Tutorials, and then click the name of the code snippet you want to insert.

Provisioning Windows Azure

In order to complete the deployment lesson in each tutorial, you must sign up for a Windows Azure account and purchase a subscription. For more information, see Get Started with the Windows Azure Platform at http://technet.microsoft.com/en-us/library/ff626271.aspx, and see Provisioning Windows Azure at http://blogs.msdn.com/david_sayed/archive/2010/01/07/provisioning-windows-azure.aspx.

Configuring IE

The Windows Azure Platform Management Portal allows you to manage all your Windows Azure platform resources from a single location. You must set the IE pop-up blocker to accept pop-ups from this site so that the database manager can be launched.

To configure the IE Pop-up Blocker

  1. From Internet Explorer Tools menu, point to Pop-up Blocker, and then click Pop-up Blocker Settings.
  2. In Address of website to allow, type windows.azure.com, and then click Add.
  3. Click Close.

Return to Top


Other Resources

Return to Top

Leave a Comment
  • Please add 4 and 7 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Richard Mueller edited Revision 54. Comment: Replaced RGB values with color names in HTML to restore colors

  • Richard Mueller edited Revision 53. Comment: Removed (en-US) from title

  • Jonathan Gao edited Revision 52. Comment: add a resource link

  • Jonathan Gao edited Revision 49. Comment: update SQL Database name and references

  • Horizon_Net edited Revision 47. Comment: added language tags

  • Ed Price - MSFT edited Revision 46. Comment: Font style

  • Jonathan Gao edited Revision 36. Comment: Updating tutorial files

  • Jonathan Gao edited Revision 30. Comment: updating tags

  • PenniJ edited Revision 27. Comment: edits

  • PenniJ edited Revision 25. Comment: edits

Page 1 of 3 (26 items) 123
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • The link for "Get Started with the Windows Azure Platform" no longer works:

    technet.microsoft.com/.../ff626271.aspx

  • Richard Mueller edited Revision 54. Comment: Replaced RGB values with color names in HTML to restore colors

  • Richard Mueller edited Revision 53. Comment: Removed (en-US) from title

  • Jonathan Gao edited Revision 52. Comment: add a resource link

  • Jonathan Gao edited Revision 49. Comment: update SQL Database name and references

  • Horizon_Net edited Revision 47. Comment: added language tags

  • Ed Price - MSFT edited Revision 46. Comment: Font style

  • Fantastic article!!

  • CSebastian, it works fine to me.  Can you try again?

  • The download page for the tutorial files archive.msdn.microsoft.com/.../FileDownload.aspx is not working - An error occurred while processing your request.

  • Great Work - Thanks :-)

  • Thank you, Jonathan. It helped!

  • Hi Mihail,

    Thank you for using the tutorial.

    It looks like you have tested the application successfully locally using Compute Emulator and Storage Emulator (lesson 4).  I assume you got the error in lesson 5 procedure “To test the application in the staging environment”. The error message indicates that your application has problem accessing the storage account (Windows Azure Table service) you created in the first procedure “To create a storage account for the golfer message board application to store its data”.  

    I would first verify the primary access key and the name of your storage account (create in the procedure “To create a storage account for the golfer message board application to store its data” in lesson 5.  The key and the name must match what you specified in the procedure “To configure the application to use the storage account”.

    If the key and the name match to those you configured, try creating a another storage account, and configuring the web role to use the new storage account instead.

    Also check out this blog, blogs.msdn.com/.../what-if-quot-access-denied-or-not-sufficient-permission-quot-error-occurred-while-accessing-windows-azure-storage-blob-table-or-queue.aspx.

    Let us know if you have more questions.

    Jonathan

  • Thank you for the tutorial!

    I've tried to run GolferMessageBoard from Tutorial1 and get en error in IE.

    I am running sample on Windows 2008 R2. Could you please help to understand how to overcome this error?

    The account being accessed does not have sufficient permissions to execute this operation

    DataServiceClientException: <?xml version="1.0" encoding="utf-8" standalone="yes"?>

    <error xmlns="schemas.microsoft.com/.../metadata">

     <code>InsufficientAccountPermissions</code>

     <message xml:lang="en-US">The account being accessed does not have sufficient permissions to execute this operation.

    RequestId:834b4bcb-2849-412d-b9d6-778c92b9a5aa

    Time:2011-10-06T01:51:10.3769216Z</message>

    </error>]

      System.Data.Services.Client.<HandleBatchResponse>d__1e.MoveNext() +1877

    [DataServiceRequestException: An error occurred while processing this request.]

      Microsoft.WindowsAzure.StorageClient.<CreateTableIfNotExistImpl>d__2b.MoveNext() +715

    [StorageClientException: Exception of type 'Microsoft.WindowsAzure.StorageClient.StorageClientException' was thrown.]

      Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.get_Result() +95

      Microsoft.WindowsAzure.StorageClient.Tasks.Task`1.ExecuteAndWait() +201

      MessageBoard_Data.MessageBoardDataSource..ctor()

    [TargetInvocationException: Exception has been thrown by the target of an invocation.]

      System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0

      System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +117

      System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +247

      System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly) +20

      System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +391

      System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1971

      System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +562

      System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +176

      System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +90

      System.Web.UI.Control.EnsureChildControls() +182

      System.Web.UI.Control.PreRenderRecursiveInternal() +73

      System.Web.UI.Control.PreRenderRecursiveInternal() +256

      System.Web.UI.Control.PreRenderRecursiveInternal() +256

      System.Web.UI.Control.PreRenderRecursiveInternal() +256

      System.Web.UI.Control.PreRenderRecursiveInternal() +256

      System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3888

  • Jonathan Gao edited Revision 36. Comment: Updating tutorial files

Page 1 of 3 (41 items) 123