Download presentation
Presentation is loading. Please wait.
1
Introduction To Windows Azure SQL Database
George Huey Principal Architect Evangelist Microsoft Corporation
2
A Continuous Offering From Private To Public Cloud
Physical Virtual IaaS SaaS PaaS Microsoft provides a continuous solution from private cloud to the public cloud. No matter where you are on your technology roadmap we have a solution to fit your needs. We are a trusted advisor and platform in the traditional enterprise and ISV space with new IaaS offerings that making it easier to bring this same level of trust and ease of use to the public cloud. However, Windows Azure SQL Database extends SQL Server capabilities to the cloud by offering SQL Server as a relational database service.
3
Agenda Architecture Starting With The Basics Application Migration
Database Migration
4
Architecture
5
Tabular Data Stream (TDS)
How It Works PHP WCF Data Services SQL Server Applications and Tools ODBC ADO.NET Tabular Data Stream (TDS) Client Layer Architecture Client Layer - Used by application to communicate directly with SQL Database. Services Layer – Gateway between Client layer and Platform layer. Platform Layer – Includes physical servicers and services that support the Services layer. Infrastructure Layer – IT administration of the physical HW and OS. Services Layer Provisioning Billing and Metering Connection Routing … TDS+SSL Client - The client layer resides closest to your application, and is used by your application to communicate directly with SQL Database. The client layer can reside on-premise in your datacenter or be hosted in Windows Azure. Because SQL Database provides the same tabular data stream (TDS) interface as SQL Server, you can use familiar tools and libraries to build client applications for data that is in the cloud. Services - The services layer functions as a gateway between the client layer and the platform layer, where the data resides. The services layer provides three functions: provisioning, billing and metering, and connection routing. The services layer provisions the databases that you specify with your Windows Azure platform account. The billing and metering aspect of the services layer enables multi-tenant support by providing monitoring and billing for database usage based on individual Windows Azure platform accounts. SQL Database is built on a scalable platform involving numerous physical servers; this layer handles all the connections routing between your application and the physical servers where your data resides. Platform - The platform layer includes the physical servers and services that support the services layer. The platform layer consists of many instances of SQL Server, each of which is managed by the SQL Database fabric. The SQL Database fabric is a distributed computing system composed of tightly integrated networks, servers, and storage. It enables automatic failover, load balancing, and automatic replication between physical servers. Management services monitor the health of individual servers and enable automated installation of service upgrades and software patches. Infrastructure - The infrastructure layer represents the IT administration of the physical hardware and operating systems that support the services layer. Platform Layer SQL Server SQL Database Fabric Management Services … Infrastructure Layer
6
! High Availability Single Primary DB Single Database
Multiple Replicas Replica 1 Single Primary Replica 2 DB Replica 3 Replica 4
7
Starting With The Basics
8
The Basics Windows Azure SQL Database
SQL Server database technology as a service Fully Managed Enterprise-ready with automatic support for HA Ideal for simple and complex applications
9
Server Provisioning Server Defined Provision Servers Interactively
Service head that contains databases Connect via automatically generated FQDN (xxx.database.windows.net) Initially contains only a master database Provision Servers Interactively Log on to Windows Azure Management Portal Create a SQL Database server Specify admin login credentials Add firewall rules and enable service access Automate Server Provisioning Use Windows Azure Platform PowerShell cmdlets (or use REST API directly) wappowershell.codeplex.com
10
Application Migration
11
Create Database… Use Familiar Technologies SQL Server Comparison
Transact-SQL Languages .NET Framework (C#, Visual Basic, F#) via ADO.NET C / C++ via ODBC Java via Microsoft JDBC provider PHP via Microsoft PHP provider Frameworks OData, Entity Framework, WCF Data Services, NHibernate Tools SQL Server Management Studio (2008 R2 SP1 and later) SQL Server command-line utilities (SQLCMD, BCP) CA Erwin® Data Modeler Embarcadero Technologies DBArtisan® SQL Server Comparison Focus on logical vs. physical administration Database and log files automatically placed Three high-availability replicas maintained for every database Tables require a clustered index Maximum database size is 150 Gb Unsupported SQL Server Features Use command, linked servers, distributed transactions, distributed views, distributed queries, four-part names Service Broker Common Language Runtime (CLR) SQL Agent Native Encryption *Backup / Restore SMO / OLDB Backup/Restore: PIT Coming; Import/Export can be used for backup to BLOB storage. Third-party backup products available via RedGate and Enzo.
12
Data Access APIs Supported APIs Connection String
ADO.Net Encrypt=True and to User ID ODBC Encrypt=yes and to Uid Supported Unsupported ADO.Net .Net 3.5 SP1 and 4.0 ODBC - SNAC 10 Entity Framework .Net 3.5 SP1 and 4.0 SQL Server 2008 Driver for PHP v1.1 OleDB Add Encrypt=True to avoid negations with SQL Azure. Just makes things a little faster
13
Data Access APIs cont. Protocols Authentication Mode Supported
Unsupported TCP/IP over port 1433 Dynamic ports Named pipes Shared memory Supported Unsupported SQL Auth Windows Auth
14
SQL Database Firewall Securing your data Internet Services Layer
IP Address-based access control for SQL Database No IP authorized by default Configurable using the SQL Database Portal Option to disable/enable access from applications hosted in Windows Azure Rather than using a REST API like the other Azure storage services, SQL Database is accessed via Tabular Data Stream (TDS), the same protocol used by Microsoft SQL Server (operating over port TCP/1433). To help protect the data, the SQL Database firewall prevents all access to your SQL Database server until you specify which computers have permission. The firewall grants access based on the originating IP address of each request. Initially, all access to your SQL Database server is blocked by the SQL Database firewall; connection attempts originating from the Internet or Windows Azure will not be able to reach your SQL Database server. In order to begin using your SQL Database server, you must go to the SQL Database Portal and specify one or more firewall settings that enable access to your SQL Database server. Use the firewall settings to specify which IP address ranges from the Internet are allowed, and whether or not Windows Azure applications can attempt to connect to your SQL Database server.
15
Application Connectivity
Connecting To SQL Database TDS (Tabular Data Stream) protocol over TCP/IP supported SSL required Use firewall rules to connect from outside Microsoft data center ASP.NET EXAMPLE: Considerations And Best Practices login: Idle connections Long running transactions DoS guard Failover events Throttling Connection pooling Latency introduced for updates No cross-database dependencies Robust Connection Management through Retry Logic The Transient Fault Handling Application Block <connectionStrings> <addname="AdventureWorks"connectionString= "Data Source=[server].database.windows.net; Integrated Security=False; Initial Catalog=ProductsDb; User Id=[login]; Password=[password]; Trusted_Connection=False; Encrypt=true;" providerName="System.Data.SqlClient"/> </connectionStrings> Login: Idle connections terminated after 30 minutes Long running transactions terminated after 24 hours DoS guard terminates suspect connections with no error message Failover events terminate connections Throttling may generate errors…which leads to: Implement Connection Pooling and Retry logic to handle transient failures Latency introduced for updates due to HA replicas No cross-database dependencies: resultsets from different database must be combined in the application tier (Fan out queries)
16
Application Topologies
SQL Database access from within MS Datacenter (Azure compute) SQL Database Access from outside MS Datacenter (On-premises) SQL Database access from within and outside MS Datacenter (On-premises & Azure Compute) SQL Server App code/ Tools Application/ Browser App code/ Tools SOAP / REST HTTP / HTTPS Windows Azure Windows Azure App Code (ASP.NET) App Code (ASP.NET) SQL Database Data Sync T-SQL (TDS) Talk to Odata and how it enables code far scenarios. TODO: Add an Offline/Cached mode T-SQL (TDS) Windows Azure T-SQL (TDS) SQL Database SQL Database SQL Database Code Near Code Far Hybrid
17
Feature Parity Administration Surface Programmability Surface
Physical Server Properties does not apply in SQL Database You have a master database but no access to server level constructs such as sp_configure, endpoints, DBCC commands, server level DMVs and System Views Programmability Surface Certain Features are partially available today USE, XML processing, deprecated T-SQL etc. List is available here; Some features are not available today Full-text Search, Remote Data Access and Linked Servers, Distributed Transactions, Change Tracking, Service Broker etc. List is available here;
18
Database Migration Moving Schema and Data
19
Migration Options SQL Server Management Studio Visual Studio
Data-tier Application (DACPAC & BACPAC) Generate Script Wizard (SSMS) Visual Studio SQL Server Data Tools SQLAzureMW Useful for catching unsupported features in SQL Azure Moves data efficiently Unofficially supported
20
SQL Server Management Studio Generate Script Wizard
Scenario Migration of schema and/or data with fine grain control. Pros Native support for SQL Azure Schema options: “Engine Type = SQL Azure” Ensures correct options and settings are applied for the TSQL script generation. Requires explicit action on unsupported objects. Cons Verbose – INSERT Statements instead of raw data Data is scripted with a fixed 100 row batch size. Edit “GO” statements between small batches Round-trip Efficiency Use “SET NOCOUNT ON”
21
Generate Script Wizard Migrating Databases to SQL Database
3/18/2020 5:35 AM Generate Script Wizard Migrating Databases to SQL Database demo © 2007 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.
22
Enhanced Tooling SQL Database Management Portal
Web designers for tables, views, stored procs Interactive query editing and execution SQL Server Data Tools (SSDT) Visual Studio IDE for database development Includes modern designers and projects with declarative, model-driven development Develop and test in both connected and disconnected states Platform targeting for both SQL Server (2005 and above) and SQL Database Get it free with Web Platform Installer, with SQL Server 2012 and with Visual Studio 2012
23
Data-tier Application (DAC) Packages
Scenarios Self contained package for moving schema easily through the development lifecycle What is a DAC Pack? Single unit for authoring, deploying, and managing the data-tier objects Development Lifecycle (Visual Studio) Editing DACs Schema and DB Code Development, Code Analyses, Deployment Policy Settings, Schema Comparison and more… Building DACs – the self contained database package Management Lifecycle (SSMS) Managing DACs Registering existing database as DACs Deploying and Upgrading databases using DACs,
24
Data-tier Application Migrating Databases to SQL Database
3/18/2020 5:35 AM Data-tier Application Migrating Databases to SQL Database demo © 2007 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.
25
SQL Azure Migration Wizard
Scenario Migration of schema and/or data with fine grain control. Pros SQL Azure Compatibility Analysis Uses SMO and BCP Built in retry and chunking Migrate from: SQL Server to SQL Azure SQL Azure to SQL Azure SQL Azure to SQL Server First try clustered index creation Create package (great for Test & QA) Cons BCP data stored on local file system Not a full SQL Engine TSQL Parser
26
SQLAzureMW Migrating databases to SQL Database
3/18/2020 5:35 AM SQLAzureMW Migrating databases to SQL Database demo © 2007 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.
27
Summary– Database Migration
Scenario/Tool SQL Azure Migration Wizard Generate Script Wizard DACs BAC BCP Move SQL Schema √ Move Data √* Move Large Data Efficient More work Limited NA * No Retry
28
Thank You
29
Appendix
30
SQL Database Billing Rates (As of Oct 2013)
Database Size Price Per Database Per Month 0 to 100 MB Flat $4.995 > 100 to 1 GB Flat $9.99 > 1GB to 10 GB $9.99 for first GB, $3.996 per additional GB > 10 GB to 50 GB $45.96 for first 10 GB, $1.996 for each additional GB > 50 GB to 150 GB $ for first 50 GB, $0.999 for each additional GB Based on graduated rate based on database size (Charged at monthly rate per database) Amortized over month -> calculated on daily basis - No Transaction Charges Outbound Data Transfer US and Europe Asia First 5 GB / Month 1 Free 5 GB - 10 TB 2 / Month $0.12 per GB $0.19 per GB Next 40 TB / Month $0.09 per GB $0.15 per GB Next 100 TB / Month $0.07 per GB $0.13 per GB Next 350 TB / Month $0.05 per GB Greater than 500 TB / Month Contact us Data Transfers All inbound data transfers are at no charge.
31
SQL Database Architecture
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.