Microsoft SQL Azure - Building Applications Using SQL Azure Presentation


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

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
  • Microsoft SQL Azure - Building Applications Using SQL Azure Presentation

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