Your SlideShare is downloading. ×
SQL Azure from Day of Azure II
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SQL Azure from Day of Azure II

1,414

Published on

Deck from Day of Azure II on SQL Azure in San Deigo on Dec 2010

Deck from Day of Azure II on SQL Azure in San Deigo on Dec 2010

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,414
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Lynn then Ike
  • Lynn
  • LynnMany solutions will use a hybrid (i.e. mixed) approach
  • LynnWe have included this feature comparison table in anticipation of your likely questions about differences between using a relational database table as you may be currently doing with your SQL Server databases and the new Windows Azure Tables included in Windows Azure.
  • LynnCode Far works with any type of code – i.e. Java, etc.. Does NOT have to be Azure or .NET
  • IkeSLA InformationSQL Azure customers will have connectivity between the database and our Internet gateway. SQL Azure will maintain a “Monthly Availability” of 99.9% during a calendar month. “\\Monthly Availability Percentage” for a specific customer database is the ratio of the time the database was available to customer to the total time in a month. Time is measured in 5-minute intervals in a 30-day monthly cycle. Availability is always calculated for a full month. An interval is marked as unavailable if the customer’s attempts to connect to a database are rejected by the SQL Azure gateway.Download SQL Azure SLA.
  • Ikehttp://social.technet.microsoft.com/wiki/contents/articles/inside-sql-azure.aspx
  • Ike
  • Lynnhttp://www.microsoft.com/windowsazure/evidence/
  • Lynn talks, Ike types
  • Lynn talks, Ike types
  • Lynn
  • IkeSample code to handle re-try attempts for dropped connections - http://blogs.msdn.com/b/sqlazure/archive/2010/05/11/10011247.aspx
  • IkeIkeSteve Hale (Microsoft) authored this article at http://blogs.msdn.com/sqlnativeclient/archive/2010/02/12/using-sql-server-client-apis-with-sql-azure-vversion-1-0.aspxAlso updated MSDN Dev Guide 'How to connect' http://msdn.microsoft.com/en-us/library/ee621787.aspxUsing SQL Server Client APIs with SQL Azure Version 1.0 This post describes some of the issues that the application developer should be aware of when writing ODBC, ADO.NET SQLClient, BCP, and PHP code that connects to SQL Azure. See also SQL Azure documentation on MSDN (http://msdn.microsoft.com/en-us/library/ee336279.aspx). Supported components1. Microsoft SQL Server Native Client 10.0 ODBC Driver or newer. This is a free download.2. Microsoft PHP 1.1 driver or newer. Again a free download.3. SQL Server 2008 BCP.EXE or newer. The caution here is that the queryout option is not fully supported for SQL Server 2008 RTM. Queryout is expected to be fully supported in a future release of SQL Server.4. ADO.NET 3.5 SqlClient or newer.Any other components are NOT currently supported for connecting to SQL Azure. In particular it should be noted that OLEDB connections are not currently supported from any OLEDB provider, even SQL Server 2008 Native Client OLEDB provider. ODBC connections using the on-the-box ODBC driver “SQL Server” are not currently supported.Connecting1. valid server name, user ID, and password for SQL Azure2. On the SQL Azure portal, set the firewall rules to allow your client IP address to connect to SQL Azure. Additionally, in some corporate environments, you might need to install Microsoft Firewall Client for ISA Server on the client machines or connections will not succeed. And in those environments, using IIS might require the default IIS settings for Application Pool Identity to be changed. Here is how that setting is changed: Open IIS Manager in Admin Tools, select Application Pools, Pick the pool, Advanced Setting and under Process Model change Identity from BuiltInAccount\\ApplicationPoolIdentity to Custom account domain account. Restart IIS.SQL Azure supports only TCP/IP connections using port 1433 (default for most SQL Server APIs) if other protocol choices (named pipes or using other ports) Additionally, most client APIs do not send the server name when connecting, thus the server name should be included as part of the user ID. Currently the only exception to this is .NET 4.0 which does send the server name. ODBC, BCP, PHP, and .NET 3.5 all require the server name to be sent as part of the user ID. This may change in a future release. Connection strings are all similar for each API stack and require the server name, user ID, password, and optionally the database. Trusted connections (also known as Integrated Security or Windows Authentication) are not supported. MARS is not yet supported by SQL Azure so make sure MARS is not enabled in the connection string.Creating and Connecting to a DatabaseSQLCmd example: sqlcmd -S o8uyxb64fe.ctp.database.windows.net -U <MyUserID>@o8uyxb64fe -P <MyPassword>Note the required server name (in yellow) included as part of the user ID.In the above example the database was not specified. In that case the default database “master” is used. You must connect to the master database to create databases or drop databases. Since the “USE database” command is not supported, you must disconnect after creating a database and reconnect directly to the user database. In this example we connect directly to the Northwind database.sqlcmd -S o8uyxb64fe.ctp.database.windows.net -U <MyUserID>@o8uyxb64fe -P <MyPassword> -d NorthwindCreating tablesTable creation is restricted to user databases; you cannot create tables in the master database. Table creation is substantially the same as on SQL Server, with the exception that certain data types are not supported, for example CLR User Defined Types, Filestream, and row guid types. Also, it should be mentioned that SQL Azure requires a clustered index or primary key (which uses a clustered index by default) before data can be inserted into a table. For this reason a clustered index or primary key must always be created for any table intended to contain data.Example:Create table employees(EmployeeIDint primary key, EmployeeNamevarchar(30))OrCreate table employees(EmployeeIDint, EmployeeNamevarchar(30))Create clustered index empIndex on employees(EmployeeID) Unsupported features· “USE database” is not supported· 3-part names are not supported unless the database being referenced is the current database.· Creating or dropping a database when not in the master database· Insertion of data into a table without a clustered index.· MARS connections· Trusted connections· CLR UDTs· XML schema collections· Distributed transactions (local transactions are supported)· AttachDB· Certain stored procedures, for example sp_who and undocumented stored procedures used to support OLEDB schema rowsets. Deprecated functionalitySome features are deprecated in SQL Server and should not be used in new application development. In most cases SQL Azure does not support deprecated SQL Server features. Some examples of these are:· System tables such as sysobjects, sysusers, or sysdatabases. Use the new system views instead. See http://msdn.microsoft.com/en-us/library/ms187997.aspx for a mapping to the new system views.· Numbered stored procedures· “select into” syntax· “COMPUTE BY” clause· Two-part drop index statements See http://msdn.microsoft.com/en-us/library/ee336281.aspx for more detailed Transact-SQL support.Connection behaviorSQL Azure connections will behave somewhat differently than SQL Server connections. They can be dropped for a number of reasons:· Excessive resource usage· Long-running queries· Long-running single transactions· Idle connections· Failover due to server failuresFor this reason it’s best to avoid caching connections for later use. A better strategy is to open the connection when needed, use it, and then close it. Additionally, it is recommended that applications provide retry/reconnect logic to recover from dropped connections.LatencyLatency may be a concern when using SQL Azure unless the SQL Azure server is located near the application (“code near” scenario), such as with Windows Azure and a co-located SQL Azure. Making many round trips to the server can introduce noticeable delay in an application that previously performed adequately when running against a SQL Server on the intranet. Ensure the application connects to the nearest SQL Azure server and that round trips are minimized. SUMMARYü Use only supported client components to connectü Connect using TCP/IP and port 1433ü Use SQL Authentication only, not Trusted Connections/Integrated Authentication/Windows Authentication.ü Specify the server name in the user ID.ü Ensure the firewall rules in the SQL Azure portal permit your IP address.ü Install Microsoft Firewall Client for ISA Server if needed.ü Change the IIS Application Pool Identity if needed.ü Make sure MARS is not enabled.ü Connect to the master database to create or drop databasesü Create a user database for your application since tables cannot be created in masterü Disconnect and reconnect to change databasesü Create a clustered index or primary key on a table before inserting data.ü Remove any unsupported or deprecated features from the application.ü Avoid caching connections. Open the connection, use it, and then close it.ü Avoid making numerous round trips to the server.
  • Ike talk, Lynn typeSample Connection StringServer=tcp:server.ctp.database.windows.net;Database=<databasename>;User ID=user@server;Password=password;Trusted_Connection=False;
  • Ike talk, Lynn type
  • Ike talking, Lynn is typing
  • Ike talking
  • Lynn talkingFan out queries: where a query can be run against every container in parallel and the results returned and a union-all performed at the client.  This is an important scenario for us and we are looking at how we can make this pattern run efficientlyAuto partitioning. Multi-spindle storage solution. 10 drives look like 1 logical drive.“Sharding” Utility written with .NET 4.0 TPL at http://enzosqlshard.codeplex.com/
  • LynnClustered indexes sort and store the data rows in the table based on their key values. There can only be one clustered index per table, because the data rows themselves can only be sorted in one order. For more information about clustered index architectureWith few exceptions, every table should have a clustered index defined on the column, or columns, that offer the following: Can be used for frequently used queries. Provide a high degree of uniqueness. Can be used in range queries.Distributed Query – reference multiple linked servers and can perform either updae or read operations against each individual linked serverDistributed transactions span two or more servers known as resource managers. The management of the transaction must be coordinated between the resource managers by a server component called a transaction manager.DDL – data definition language statement to create drop or alter mining models and multidimensional objects such as cubes and dimensions
  • Lynn
  • LynnDatabase files can be grouped together in filegroups for allocation and administration purposes. Some systems can improve their performance by controlling the placement of data and indexes onto specific disk drives. Filegroups can aid this process. The system administrator can create filegroups for each disk drive, then assign specific tables, indexes, or the text, ntext, or image data from a table, to specific filegroups.
  • Lynn talks, Ike typesUnder “Set Scripting Options”, click Advanced and set “Script for database engine type” to SQL Azure DatabaseFor BCPScenario - BCP / Bulk CopyHigh speed programmable data import and export Best Practices Optimize Databases for Data ImportDisable/Delay creation of none Clustered IndexesOrder Data on the Clustered IndexDisable Triggers and Constraint checking-N Native mode so no data type conversion needed. -c Character mode for interoperability-b batchsize will let you control transaction size-h”TABLOCK, ORDER(…)” optimize writesFor SSISSSIS Design Surface - Data Flow TaskDiverse Source and destinationsTo/From Flat Files, ADO.Net, OleDBFully programmable flow Loops, Sorts, Conditional operators, XML/WebServices Processing etcVS Debugging support with data viewers, watches and conditional breakpointsBest Practices – Data Flow TaskRemember; Optimize Databases for Data ImportDisable/Delay creation of none Clustered IndexesOrder Data on the Clustered IndexDisable Triggers and Constraint checkingBatch Size: Adjust the transaction sizeBuffer and Blob temp storage area; spread over to multiple drives for large data transfersParallelization – based on execution trees, task will auto parallelize
  • SQL Azure firewall prevents all access to a SQL Azure server. The IP addresses of the machines that need access need to be granted access before they can attempt to connect to SQL Azure server. This can be done via the Firewall Settings tab under the Server Administration page on the SQL Azure portal. There is also a checkbox “Allow Microsoft Services access to this server”. Checking this will allow connections coming from your applications hosted in Windows Azure. The article How to Configure SQL Azure Firewall has more detailed information and instructions on configuring the firewall.http://msdn.microsoft.com/en-us/library/ee621782.aspxThe SQL Azure Database service is only available with TCP port 1433After you have used the SQL Azure portal to create a firewall setting that enables connection to your SQL Azure server, you can use the server-level principal login and the master database to view and edit your firewall settings.In the master database, the firewall settings are referred to as rules. The sys.firewall_rules view displays the current firewall settings and the sp_set_firewall_rule and sp_delete_firewall_rule stored procedures allow you to change the firewall settings. For Web roles - Check “Allow Microsoft Services access to this server” option under the Firewall Settings tab in the Server Administration page on the portal.
  • IKE talksFull list athttp://www.microsoft.com/sqlserver/2008/en/us/R2.aspx
  • Lynn
  • Lynn sys.dm_exec_connections – This view returns information about the connections established to your database.· sys.dm_exec_requests – This view returns information about each request that executes within your database · sys.dm_exec_sessions – This view shows information about all active user connections and internal tasks. · sys.dm_tran_database_transactions – This view returns information about transactions at the database level.· sys.dm_tran_active_transactions – This view returns information about transactions for your current logical database.· sys.dm_db_partition_stats – This view returns page and row-count information for every partition in the current database.
  • LynnFrom SSDS blog http://blogs.msdn.com/sqlazure/archive/2010/04/16/9997517.aspx
  • LynnFrom SSDS blog http://blogs.msdn.com/b/sqlazure/archive/2010/06/07/10020947.aspxSQL Azure Database is extending five-fold to offer 50GB of the database storage capacity to offer even more scalability to applications and data.  Provides higher scalability and easier management of applications and services. Available on June 28th worldwide, flexibility to buy 50GB database.  New SQL Azure Offer: SQL Azure Development Accelerator Core will be available on August 1st with a new promotional discount to customers and partners, allowing them to subscribe to larger SQL Azure database size at a 25 percent discount.  This new six month offer provides flexibility to purchase commitment quantities of SQL Azure Business Edition databases independent of other Windows Azure platform services at a deeply discounted monthly price.  You can purchase in 10 GB increments the amount of our Business Edition relational database that you require (each Business Edition database is capable of storing up to 50 GB).Please refer to our offer comparison table for more details by offer on our pricing.Support for Spatial Data: SQL Azure now offers support for the Geography and Geometry types as well as query support in T-SQL. This is a significant feature and now opens the Windows Azure Platform to support spatial and location aware applications.Data Sync Service for SQL Azure allows for more flexible control over data by deciding which data components should be distributed across multiple datacenters in different geographic locations, based on the customer’s internal policies and business needs.  Available in community technology preview at http://www.sqlazurelabs.com .Microsoft SQL Server Web Manager (SSWM) isan easy to use management tool for SQL Azure databases, and specifically designed for Web developers seeking a straightforward solution to quickly develop, deploy and manage their data-driven applications in the cloud. Available as a community technology preview in summer 2010. Access 10 Support for SQL Azure offers native data connectivity support from Microsoft Office 2010 to SQL Azure. This new feature provides an easy way to connect directly from Office applications to cloud-based relational databases, and more choices to integrate rich Office Business Applications that can connect directly to both on-premises or cloud databases.
  • LynnMSDN article: http://msdn.microsoft.com/en-us/library/ff951624.aspxSupport for database copy: Database copy allows you to make a real-time complete snapshot of your database into a different server in the data center. This new copy feature is the first step in backup support for SQL Azure, allowing you to get a complete backup of any SQL Azure database before making schema or database changes to the source database. The ability to snapshot a database easily is our top requested feature for SQL Azure, and goes above and beyond our database center replication to keep your data always available. The MSDN Documentation with more information is entitled: Copying Databases in SQL Azure.Update on Project Houstonhttp://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx
  • LynnMSDN article: http://msdn.microsoft.com/en-us/library/ff951624.aspxBlog about Federation: http://blogs.msdn.com/b/cbiyikoglu/archive/2010/10/30/building-scalable-database-solution-in-sql-azure-introducing-federation-in-sql-azure.aspxSupport for database copy: Database copy allows you to make a real-time complete snapshot of your database into a different server in the data center. This new copy feature is the first step in backup support for SQL Azure, allowing you to get a complete backup of any SQL Azure database before making schema or database changes to the source database. The ability to snapshot a database easily is our top requested feature for SQL Azure, and goes above and beyond our database center replication to keep your data always available. The MSDN Documentation with more information is entitled: Copying Databases in SQL Azure.Update on Project Houstonhttp://blogs.msdn.com/b/sqlazure/archive/2010/08/25/10054230.aspx
  • Lynn
  • Lynnhttp://www.mygreatwindowsazureidea.com/pages/34685-sql-azure-feature-voting
  • Ike talks, Lynn demosFor MonitoringGRANT VIEW DATABASE STATE TO database_user;Example: Space UsedMonitor space used via ‘sys.dm_db_partition_stats’Trap ‘out of space exception’ – SQL Error 40544
  • Lynn talks, then IkePricing table - http://www.microsoft.com/windowsazure/pricing/#sqlWeb Edition: Up to 1 GB relational database = $9.99 / month Up to 5 GB relational database = $49.95 / month** Business Edition: Up to 10 GB relational database = $99.99 / month Up to 20 GB relational database = $199.98 / month** Up to 30 GB relational database = $299.97 / month** Up to 40 GB relational database = $399.96 / month** Up to 50 GB relational database = $499.95 / month** Data transfers = $0.10 in / $0.15 out / GB - ($0.30 in / $0.45 out / GB in Asia)* * No charge for inbound data transfers during off-peak times through October 31, 2010** SQL Azure 50 GB Business Edition Database and 5 GB Web Edition Database will be available starting on June 28, 2010.
  • Lynn
  • Lynn talks, Ike typeshttp://msdn.microsoft.com/en-us/library/ff951624.aspx-- execute on the master database -- retrieve state of the new database select name, state, state_desc from sys.databases where name = 'databaseBackup' -- retrieve copying details select * from sys.dm_database_copies where database_id = DB_ID('databaseBackup') http://msdn.microsoft.com/en-us/library/ff951624.aspx-- execute on the master database-- retrieve state of the new databaseselect name, state, state_desc from sys.databaseswhere name = 'databaseBackup'-- retrieve copying detailsselect * from sys.dm_database_copieswhere database_id = DB_ID('databaseBackup')When the database copying completes, the new database will enter one of two states, as indicated by the state_desc column of the sys.databases view. If the copying was successful, the new database will enter the Online state.
  • Ike talks
  • Ike talks, Lynn typeshttps://www.sqlazurelabs.com/
  • Ike talks
  • http://www.silverlight.net/content/samples/odataexplorer/ - Odata viewer
  • Lynn talksCons – of ‘Generate Script’ areVerbose – INSERT Statements instead of raw dataData is scripted with a fixed 100 row batch size.Edit “GO” statements between small batchesRound-trip EfficiencyUse “SET NOCOUNT ON”
  • Lynn talks
  • Lynn talks
  • Lynn talks
  • Lynn talks
  • Lynn talks
  • https://datamarket.azure.com/
  • https://datamarket.azure.com/
  • Lynn talks
  • IkeFrom this URL - http://www.microsoft.com/sqlserver/2008/en/us/R2-editions.aspxWhat's New in SQL Server 2008 R2 EditionsWith SQL Server 2008 R2, Microsoft continues to be the value leader, offering rich functionality to support OLTP and BI workloads out of the box at a low cost of ownership relative to competitors. With increasing hardware innovations, SQL Server continues to be the only major database vendor who does not price per core for multi-core processors. What’s New in SQL Server 2008 R2 EditionsBuilt on SQL Server 2008, SQL Server 2008 R2 delivers higher mission-critical scale, more efficient IT, and expanded reporting and analytics through self-service business intelligence. SQL Server 2008 R2 introduces two new premium editions to meet the needs of large scale datacenters and data warehouses.SQL Server 2008 R2 DatacenterSQL Server 2008 R2 Parallel Data WarehouseNew Premium EditionsDatacenterBuilt on SQL Server 2008 R2 Enterprise, SQL Server 2008 R2 Datacenter is designed to deliver a high-performing data platform that provides the highest levels of scalability for large application workloads, virtualization and consolidation, and management for an organization’s database infrastructure. Datacenter helps enable organizations to cost effectively scale their mission-critical environment. Key features new to Datacenter:Application and Multi-Server Management for enrolling, gaining insights and managing over 25 instancesHighest virtualization support for maximum ROI on consolidation and virtualizationHigh-scale complex event processing with SQL Server StreamInsight™Supports more than 8 processors and up to 256 logical processors for highest levels of scaleSupports memory limits up to OS maximum Parallel Data WarehouseSQL Server 2008 R2 Parallel Data Warehouse is a highly scalable data warehouse appliance-based solution. Parallel Data Warehouse delivers performance at low cost through a massively parallel processing (MPP) architecture and compatibility with hardware partners – scale your data warehouse to tens and hundreds of terabytes.Key features new to Parallel Data Warehouse:10s to 100s TBs enabled by MPP architectureAdvanced data warehousing capabilities like Star Join Queries and Change Data CaptureIntegration with SSIS, SSRS, and SSASSupports industry standard data warehousing hub and spoke architecture and parallel database copyInvestments in Core EditionsSQL Server 2008 R2 EnterpriseSQL Server 2008 R2 Enterprise delivers a comprehensive data platform that provides built-in security, availability, and scale coupled with robust business intelligence offerings—helping enable the highest service levels for mission-critical workloads.The following capabilities are new to Enterprise:PowerPivot for SharePoint to support the hosting and management of PowerPivot applications in SharePointApplication and Multi-Server Management for enrolling, gaining insights and managing up to  25 instancesMaster Data Services for data consistency across heterogeneous systemsData Compression now enabled with UCS-2 Unicode support High-scale complex event processing with SQL Server StreamInsight™SQL Server 2008 R2 StandardSQL Server 2008 R2 Standard delivers a complete data management and business intelligence platform for departments and small organizations to run their applications—helping enable effective database management with minimal IT resources.The following capabilities are new to Standard:Backup Compression to reduce data backups by up to 60% and help reduce time spent on backups *Can be managed instance for Application and Multi-Server Management capabilitiesHigh-scale complex event processing with SQL Server StreamInsight™
  • Lynn
  • Lynn
  • Both
  • Lynn
  • Transcript

    • 1. Lynn Langithttp://blogs.msdn.com/SoCalDevGaltwitter - @llangit
      Ike Ellishttp://EllisTeam.blogspot.comtwitter - @EllisTeam1
    • 2. Windows Azure Platform
      Compute: Virtualized compute environment
      Storage: Durable, scalable, & available storage
      Management: Automated, model-driven management
      Database:Relational processing for structured/unstructured data – Data Marketplace
      Service Bus: General purpose application bus
      Access Control: Rules-driven, claims-based access control
    • 3. Data Storage Choices
      On-premise
      SQL Server or other s/w on-premise
      Resource governance @ machine
      Full h/w control – 100% compatibility
      Roll your own HA/DR/scale
      Dedicated
      SQL Azure (RDBMS)
      Hosted
      Virtual DB server
      Resource governance @ LDB
      Security @ LDB
      Auto HA, Fault-Tolerance
      Self-provisioning
      High RDMS compatibility
      Hosted SQL Server or other
      Roll-your-own HA/DR/scale
      Security @ DB Server/OS
      Resources
      Windows Azure
      Storage
      Tables
      Queues
      Blobs (also VMs)
      Shared
      Low
      “Friction”/Control
      High
    • 4. Storage Comparison
      SQL Azure Tables
      Fully structured
      Strongly typed
      Relational (RDMS)
      Highly scalable
      Windows Azure Tables
      Semi-structured
      Loosely typed
      Non-Relational (Not RDMS)
      Massively scalable
    • 5. Application Topologies
      SQL Server
      App code/ Tools
      App code/ Tools
      Application/ Browser
      Data Sync
      Windows
      Azure
      Windows
      Azure
      App Code
      (ASP.NET)
      App Code
      (ASP.NET)
      T-SQL / TDS
      App Code
      (ASP.NET)
      App Code
      (ASP.NET)
      TSQLTDS
      TSQLTDS
      SQL Azure
      SQL Azure
      SQL Azure
      Code Far
      Code Near
      Hybrid
    • 6. Database Replicas
      Multiple Physical Replicas
      Replica 1
      Single Primary
      Single Logical Database
      Replica 2
      DB
      Replica 3
    • 7. Logical vs. Physical
    • 8. SQL Azure focus on logical administration
      Schema creation and management
      Query optimization
      Security management (Logins, Users, Roles)
      Service handles physical management
      Automatically replicated with HA “out of box”
      Transparent failover in case of failure
      Load balancing of data to ensure SLA
      Logical vs. Physical Administration
      DBA role places more focus on logical management
    • 9. Customer Evidence
    • 10. Demo – SQL Azure Portal
    • 11. Demo - Portal for DB (Houston)
    • 12. Each account has zero or more servers
      Azure wide, provisioned in a common portal
      Billing instrument
      Each server has one or more databases
      Contains metadata about the databases and usage
      Unit of authentication
      Unit of Geo-location
      Generated DNS based name
      Each database has standard SQL objects
      Unit of consistency
      Unit of multi-tenancy
      Contains Users, Tables, Views, Indices, etc.
      Most granular unit of billing
      Service Provisioning Model
      Account
      Server
      Database
    • 13. SQL Azure Database Access
      Web Portal
      (API)
      Your App
      Change Connection String
    • 14. Use ADO.NET, ODBC, PHP (NOT OLE DB)
      Client libraries pre-installed in Azure roles
      Support for ASP.NET controls
      Clients connect directly to a database
      Cannot hop across DBs (no USE)
      May need to include <login>@<server>
      Use familiar tools (sqlcmd, osql, SSMS, etc)
      Use connection pooling for efficiency
      SSMS 2008 R2 can connect
      http://blogs.msdn.com/ssds/archive/2009/11/11/9921041.aspx
      Connection Model
    • 15. Connecting to SQL Azure with SSMS 2008 R2
      Houston Client – Silverlight (Portal)
      SQLCMD – can also be used
      SSIS – can also be used
      SSRS/SSIS/SSAS – w/SQL Azure as source data – use R2 versions
      Demo – Connect via tools
    • 16. SSMS 2008 R2 – Cloud vs. On Premise
    • 17. Query Optimizer and Client Statistics can be used with SQL Azure data
    • 18. Feature not yet implemented
      Physical layer – Microsoft handles it
      Commodity vs. Business
      Multi-tenant
      We must play nice together
      Compatibility Overview
    • 19. Maximum single database size is 50GB
      Database size calculation
      Includes: primary replica data, objects and indexes
      Does NOT include: logs, master database, system tables, server catalogs or additional replicas
      Announced CTP support for auto-partitioning & fan-out queries (Federation)
      Currently must handle partitioning logic within the application
      Also called Database ‘sharding’
      Sharding Utility, using TPL at http://enzosqlshard.codeplex.com/
      Database Size Limits
    • 20. Compatibility
      In Scope
      Out of Scope
      • Distributed Transactions
      • 28. Distributed Query
      • 29. CLR
      • 30. Service Broker
      • 31. Physical server or catalog DDL and views
    • Tables (joins) , Views , Stored Procedures, Triggers
      Indices
      Index Management
      Statistics Management
      Spatial data
      Local Transactions
      Supported T-SQL
      • T-SQL elements
      • 32. Reserved keywords
      • 33. Create/drop databases
      • 34. Create/alter/drop tables
      • 35. Create/alter/drop users and logins
      • 36. Constants, Constraints, Cursors, Local temporary tables
      • 37. Table Variables
    • CLR
      Database file placement
      Database mirroring
      Distributed queries
      Distributed transactions
      Filegroup management
      Full Text Search
      Unsupported T-SQL
      • Global temporary tables
      • 38. SQL Server configuration options
      • 39. SQL Server Service Broker
      • 40. System tables
      • 41. Profiler / Trace Flags
    • Generating, then modifying, the SQL DDL script
      Loading in the data (bcp, SSIS, etc…)
      -OR-
      SQL Azure Migration Wizard
      http://sqlazuremw.codeplex.com
      Demo – SQL Migration Wizard
    • 42. SQL Migration Wizard
    • 43. What Could Go Wrong?
    • 44. Progress!
    • 45. Success!
    • 46. Remove unsupported features, such as…
      Migrating By Hand
      • USE DATABASE
      • 47. ON PRIMARY (Filegroups)
      • 48. Extended Properties
      • 49. NOT FOR REPLICATION
      • 50. Various Index options (WITH)
      • 51. Windows logins
      • 52. Unsupported XML features
      • 53. Remove DEFAULT NEWSEQUENTIALID()
      • 54. Encrypted Stored Procedures
      • 55. No Heap tables (all tables must have clustered indices)
      • 56. UDTs
    • 3 month release cycle
      Active CTPs at sqlazurelabs.com
      Roadmap
    • 57. Added new Dynamic Management Views (DMVs)
      Allows return of state information for health monitoring & performance tuning
      sys.dm_exec_connections, _requests , _sessions, _tran_database_transactions, _active_transactions, _partition_stats
      Added ability to move between Web or Business edition
      ALTER DATABASE database_name { MODIFY (MAXSIZE = {1 | 10} GB) }
      Increased idle session conn timeout (from 5 to 30 minutes)
      Improves experience while using connection pooling and other interactive tools
      Improved long running transaction algorithm
      Allows import and export of much larger amounts of data without having to chunk your data
      Added - Feb 2010
    • 58. Addedavailability in 20 more countries (now 41 total)
      Complete list here
      Started with 21 countries, now doubled
      Addedsupport for MARS
      Simplifies the design process
      Added support for ALTER (rename) Database
      Adds features found in RDMS to SQL Azure
      Included support in Visual Studio 2010 to manage SQL Azure
      Allows direct management of SQL Azure databases via Server Explorer
      Also found in SQL Server Management Studio
      Added new labs feature - sandbox
      https://www.sqlazurelabs.com/
      Added - April 2010
    • 59. Addedupper size limit of 50 GB
      Available June 28, 2010
      Initial discount on upgrading maximum size
      Addedsupport for Spatial Data Types
      Support for Geography & Geometry data types and queries
      Support for HierarchyID data types (tree-like database structures)
      Added support DataSync Service for SQL Azure
      Initially available in CTP via sqlazurelabs.com
      Announced SQL Server Web Manager
      Web-based SQL Azure management tool
      Initially available as CTP in summer 2010
      Added Access 10 support for SQL Azure
      Support from Office 2010 to SQL Azure
      Added - June 2010
    • 60. Added Database copy capabilities
      Same server or cross server
      CREATE DATABASE DB2A AS COPY OF Server1.DB1A
      Monitor via sys.dm_database_copies
      Increased MSDN documentation for common programming scenarios (with code examples)
      Enhanced Project Houston
      Supported in multiple data centers
      View and StoredProc designers added
      Added - August 2010
    • 61. Improved Portal at sql.azure.com
      Enhanced Houston (Silverlight) portal
      Connected to main Azure portal
      Announced Betas
      SQL Azure Reporting Services
      SQL Azure Federation
      SQL Azure Data Sync v 2
      Added - Nov 2010
    • 62. Opportunities and Futures
      SQL Web Management and Administration (SWA)
      Partitioning Utility in CTP soon (Federation)
      Profiler-like traces / deadlock graphs
      Geo-location and geo-redundancy
      Distributed query
      Security w/Active Directory, Windows Live ID, etc
      Support for multiple levels of hardware and software isolation
      BI features – SSRS, SSIS, SSAS
    • 63. What’s Your Idea?
    • 64. Second Hour = DEMOs
    • 65. Pricing
    • 66. Data Migration Tools
      Wizards
      SQL Azure Migration Wizard (CodePlex) – here
      Migration Assistant for Access or for MySQL – here or here
      Import/Export Wizard
      Generate Script Wizard
      Copy Database command
      CREATE DATABASE DB2A AS COPY OF Server1.DB1A
      Other Tools
      SSIS
      BCP
      DataSync (CTP)
      OData (CTP)
    • 67. COPY Database (same or different servers)
      CREATE DATABASE destination_database_name AS COPY OF [source_server_name.]source_database_name
      CREATE DATABASE Database2A AS COPY OF Server1.Database1A
      Check via DMV
      Progress
      sys.dm_database_copies
      Database COPY and DEMO
    • 68. SQL Azure Data Sync Service
      • Scale-out read or read/write
      • 69. Geo replication of data
      • 70. Edge network data distribution
      • 71. Content delivery networks
      SQL Azure
      Sync Group
      SQL Server
      SQL Azure
      On-Premises Applications
    • 72. Data Sync - Demo
    • 73. Table Order in Sync
    • 74. Tracking Objects Created
      • Tracking Tables
      • 75. On Source / on Destination
      • 76. Triggers
      • 77. Stored Procedures
    • OData Support (Labs) - Demo
      Open Data Protocol
      ATOM PUB
      JSON
      HTTP
      https://www.sqlazurelabs.com
    • 78. Odata Query & Results
    • 79. Data-tier Application Components
      Data-tier Application Component (DAC)
      New unit of deployment for T-SQL apps
      Supports Install, Uninstall, and in the future Upgrade and Repair
      Contains developer intent as policies.
      Data-tier Application Component
      Future - DAC Deployment Profile
      Deployment Requirements, Management Policies, Failover Policies
      Unit of Deployment
      Schema
      LOGICAL
      Tables, Views, Constraints, SProcs, UDFs,
      PHYSICAL
      Users, Logins, Indexes
    • 80. DAC Pack = Single unit (Package) for authoring, deploying, and managing the data-tier objects through the development lifecycle
      Development Lifecycle (VS 2010) - 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 2008 R2) – managing DACs
      Registering existing database as DACs
      Deploying and Upgrading databases using DACs,
      DAC (Data-tier Application) Packages
    • 81. DACPAC – DEMO in SSMS
      In SSMS
      In VS 2010
    • DACPAC – DEMO in VS
    • 85. Summary– Database Migration
    • 86. Custom applications
      Can use Windows Azure – not required
      Can connect via any client with valid connection string
      Microsoft applications
      Connectivity into Office applications
      Excel, Excel PowerPivot, SharePoint, etc…
      Connectivity into BI applications
      SSRS, SSIS, SSAS
      Application Integration
    • 87. Local and Cloud-Based
      No SDK required – simply change connection string from local to cloud copy of DB
    • 88. Simple – just change the connection string!
      All compatibility requirements must be met (T-SQL) in the DDL
      Create destination DB schema and populate with data
      Firewall rules set up via SQL Azure portal (test connectivity)
      Nothing to install, no SDK required
      SQL Azure application
    • 89. Office 2010
      Excel
      Excel Power Pivot
      SharePoint
      SQL Server 2008
      SQL Server Reporting Services
      Report Builder 3.0
      SQL Server Integration Services
      SQL Server Analysis Services
      Visual Studio 2010
      Server Explorer
      Entity Framework
      DACPAC
      Windows Azure Marketplace DataMarket
      Microsoft Application Integration
    • 90. Windows Azure DataMarket
    • 91. Office 2010 - DEMO
      Report Builder
      PowerPivot
    • 92. Preview - SQL Azure Reporting
    • 93.
    • 94. SQL Server 2008 R2 Editions
    • 95. Windows Azure Platform –here
      Windows Azure Platform Training Kit – here
      MSDN Development Center – here
      Team Blogs – SSDS and SQLAzure
      Want to Know More?
    • 96. Lynn Langit
      Blog: http://blogs.msdn.com/SoCalDevGal
      Twitter: @llangit
      Ike EllisBlog: http://EllisTeam.blogspot.comtwitter - @EllisTeam1
      Contact Me
    • 97. TeachingKidsProgramming.org
      • Do a Recipe  Teach a Kid
      • 98. Free Courseware (recipes)
      • 99. Ages 10 ++
      • 100. Microsoft SmallBasic

    ×