Your SlideShare is downloading. ×
  • Like
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Microsoft SQL Azure - Building Applications Using SQL Azure Presentation



Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Preparing Your SQL Azure Account
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Connecting to SQL Azure
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Managing Logins & Security in SQL Azure
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Creating Objects in SQL Azure
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Migrating Database Schemas to SQL Azure
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Moving Data into SQL Azure with SSIS
  • Excessive resource usageExecute transaction in the while loop Catch throttling errors that result in connection closedPause for a few seconds and reconnectContinue to execute transactions in the loop
  • The step-by-step demo script for this demo is included in the Azure Services Training Kit. DEMO SCRIPT: Building a Simple SQL Azure App
  • Your free PASS membership enables access to 12 Virtual Chapters, 24 Hours of PASS broadcasts, local PASS Chapters, professional development resources, newsletters, events calendar, and much moreMeet up with like-minded professionals throughout the year at face-to-face PASS Chapter meetings, discuss topical SQL Server issues, share tips and tricks, network, enjoy special guest speakers and get access to all things PASSAt PASS Summit,meet top industry experts , learn about best practices, effective troubleshooting, how to prevent issues, save money, and build a better SQL Server environment


  • 1. Building Applications Using SQL Azure
    Job Title
    Microsoft Corporation
  • 2. Presentation Outline (hidden slide)
    • Technical Level: 200
    • 3. Intended Audience: Database Developers, Database Architects
    • 4. Objectives (what do you want the audience to take away):
    • 5. Understand the basic concepts of building SQL Azure apps
    • 6. Presentation Outline:
    • 7. SQL Azure Overview
    • 8. Setting Up a SQL Azure Account
    • 9. Connecting to SQL Azure
    • 10. Managing Logins and Security
    • 11. Creating Objects
    • 12. Migrating Database Schemas
    • 13. Moving Data
    • 14. Special Considerations
    • 15. Building a Simple App
  • Building Applications using SQL Azure
    Job Title
    Microsoft Corporation
  • 16. Business Analytics
    Data Sync
    SQL Data Platform as a Service – beyond hosting
    • The Power of the SQL Data Platform in the cloud
    • 17. Leverages existing skills and rich tooling ecosystem
    • 18. Enables database applications with new, “cloud” capabilities
  • SQL Azure Database
    Highly scaled out relational database as a service
    Relational database service
    • SQL Server technology foundation
    • 19. Highly symmetrical
    • 20. Highly scaled
    • 21. Highly secure
    Database “as a Service” – beyond hosting
    Windows Azure
    App Code
    SQL Server Report Server
    Customer Value Props
    • Self-provisioning and capacity on demand
    • 22. Symmetry w/ on-premises database platform
    • 23. Automatic high-availability and fault-tolerance
    • 24. Automated DB maintenance (infrastructure)
    • 25. Simple, flexible pricing – “pay as you grow”
    T-SQL (TDS)
    T-SQL (TDS)
    SQL Azure
    - AD Federation (LiveId /AppFabric AC)
  • 26. SQL Azure Network Topology
    Applications use standard SQL client libraries: ODBC, ADO.Net, …
    TDS (tcp:1433)
    Load balancer forwards ‘sticky’ sessions to TDS protocol tier
    Load Balancer
    TDS (tcp: 1433)
    Data Node
    Data Node
    Data Node
    Data Node
    Data Node
    Data Node
    TDS (tcp: 1433)
    Scalability and Availability: Fabric, Failover, Replication and Load balancing
  • 27. Performance Considerations
    • The distance your application travels to perform data access will affect performance
  • V1 Application Topologies
    SQL Azure access from outside MS Datacenter
    (On-premises – ADO.NET)
    SQL Azure access from within MS Datacenter
    (Azure compute – ADO.NET)
    App Code / Tools
    ADO.NET Data Svcs/REST - EF
    App Code
    Windows Azure
    T-SQL (TDS)
    T-SQL (TDS)
    SQL Data Services
    SQL Data Services
    Code Far
    Code Near
  • 28. Data Hub
    “An aggregation of Enterprise, Partner, Desktop, and Device data within SQL Azure”
    Windows Azure
    Azure App
    On-premises App
    ADO.NET, ODBC, …
    SQL Azure
    Data Sync Service
    User Management
    Device Management
    Client App
    Client App
    Sync Gateway
    Business Logic / Rules
    Sync Client
    Sync Client
  • 29. Service Provisioning Model
    • Each account has zero or more servers
    • 30. Azure wide, provisioned in a common portal
    • 31. Billing instrument
    • 32. Each server has one or more databases
    • 33. Contains metadata about the databases and usage
    • 34. Unit of authentication
    • 35. Unit of Geo-location
    • 36. Generated DNS based name
    • 37. Each database has standard SQL objects
    • 38. Unit of consistency
    • 39. Unit of multi-tenancy
    • 40. Contains Users, Tables, Views, Indices, etc.
    • 41. Most granular unit of billing
  • 42. Setting Up SQL Azure Account
    • Request token for SQL Azure at
    • 43. Tokens will generally be provisioned within a couple days
    • 44. Redeeming tokens
    • 45. Setup administrative user
    • 46. Specify geo-location
  • Preparing your SQL Azure Account
    Demo (click-through and portal)
  • 47. SQL AzureDeployment
    DB Script
    SQL Azure
    TDS Gateway
  • 48. SQL AzureAccessing databases
    Change Connection String
    Your App
    SQL Azure
    TDS Gateway
  • 49. Connecting to SQL Azure
    • Connect via ADO.NET, ODBC, etc.
    • 50. OLE DB is NOT supported
    • 51. May need to include <login>@<server>
    • 52. USE statement is NOT currently supported
    • 53. Use familiar tools (sqlcmd, osql, SSMS, etc)
    • 54. Current version of SSMS is not fully supported but it works (demo to come)
    • 55. Tools will evolve before PDC for increased support
  • Connecting to SQL Azure
  • 56. SQL Azure Security
    • Supports SQL Server Security
    • 57. On-premise SQL Server security concepts still apply
    • 58. Server-level: sds_dbcreator, sds_securityadmin roles
    • 59. Database-level: same as on-premise SQL Server
    • 60. SSMS Object Explorer is NOT currently supported
    • 61. Administrative user is equivalent to sa
  • Managing Logins and Security in SQL Azure
  • 62. T-SQL Support (full or partial)
    • Constants
    • 63. Constraints
    • 64. Cursors
    • 65. Index management and rebuilding indexes
    • 66. Local temporary tables
    • 67. Reserved keywords
    • 68. Stored procedures
    • 69. Statistics management
    • 70. Transactions
    • 71. Triggers
    • 72. Tables, joins, and table variables
    • 73. Transact-SQL language elements such as
    • 74. Create/drop databases
    • 75. Create/alter/drop tables
    • 76. Create/alter/drop users and logins
    • 77.
    • 78. User-defined functions
  • T-SQL Not Supported (v1)
    • Common Language Runtime (CLR)
    • 80. Database file placement
    • 81. Database mirroring
    • 82. Distributed queries
    • 83. Distributed transactions
    • 84. Filegroup management
    • 85. Full Text Search
    • 86. Global temporary tables
    • 87. Spatial data and indexes
    • 88. SQL Server configuration options
    • 89. SQL Server Service Broker
    • 90. System tables
    • 91. Trace Flags
  • Creating Objects in SQL Azure
  • 92. Migrating Databases
    • “Just change the connection string” * once database is migrated
    • 93. Generate script wizard from SSMS currently creates unsupported DDL
    • 94. SQL Server Management Studio 2008 R2 has increased support for SQL Azure
    • 95. Migrating Databases to SQL Azure HOL in the Windows Azure Platform Training Kit
  • Migrating Database Schemas to SQL Azure
  • 96. Moving data
    • Scripted INSERT statements
    • 97. SQL Server Integration Services
    • 98. Available in Developer and Trial editions
    • 99. Use ADO.NET endpoint
    • 100. BCP (bulk copy) is supported
    • 101. DataSync will enable Microsoft Sync Framework
  • Moving Data into SQL Azure with SSIS
  • 102. Special Considerations: Database Size
    • Maximum single database size is currently 10GB
    • 103. Database size calculation
    • 104. Includes: primary replica data, objects and indexes
    • 105. Does NOT include: logs, master database, system tables, server catalogs or additional replicas
    • 106. V1 does not support auto-partitioning or fan-out queries
    • 107. Must handle partitioning logic within the application
    • 108. See scale out SQL Azure content within the Windows Azure Platform Training Kit for additional guidance
  • Special Considerations: Throttling
    Use traditional SQL Server best practices
    CTP cluster has throttling limits turned up to allow for building logic into apps for handling this case
    Build in retry logic especially if you expect very high throughput demands
    Consider scaling out for high throughput scenarios
  • 109. Special Considerations: PHP
    • SQL Azure does NOT support Multiple Active Result Sets (MARS)
    • 110. Must use the SQL Server for PHP v1.1 or newer with MARS connection option set to FALSE
  • Building a Windows Azure App Connected to SQL Azure
  • 111. Learning SQL Azure
    • 112. Hands on Labs in Windows Azure Platform Training Kit
    • 113. Follow the team bloggers
  • Want to Know More?
    • Windows Azure Platform
    • 114. Windows Azure Platform Training Kit
    • 115. MSDN Development Center
    • 116. Team Blog
  • Anot-for-profit, user-run association to enable the SQL Server community to connect, share, and learn
    Get ongoing SQL Server learning from MVPs, top experts, and real-world users:
    • Training webcasts, technical education, worldwide event info, and more
    Sign up for your FREE PASS membership today:
    • Go to local PASS Chapter meetings
    Visit the PASS Chapter booth to learn about upcoming local events, or visit
    • No local Chapter? Start a Chapter with support and resources from PASS
    • Attend PASS Summit 2010
    World's largest and best conference for SQL Server and BI technical education
    Follow / Join us online: Twitter @sqlpass #sqlpass, LinkedIn group, Facebook group
  • 117. Q & A
  • 118. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
    The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.