SlideShare a Scribd company logo
Lynn Langithttp://blogs.msdn.com/SoCalDevGaltwitter - @llangitIke Ellishttp://EllisTeam.blogspot.comtwitter - @EllisTeam1
Windows Azure PlatformCompute:  Virtualized compute environment Storage: Durable, scalable, & available storageManagement:   Automated, model-driven managementDatabase:Relational processing for structured/unstructured data – Data MarketplaceService Bus: General purpose application busAccess Control:  Rules-driven, claims-based access control
Data Storage ChoicesOn-premise SQL Server or other s/w on-premise Resource governance @ machine Full h/w control – 100% compatibilityRoll your own HA/DR/scaleDedicatedSQL Azure  (RDBMS)HostedVirtual DB serverResource governance @ LDB Security @ LDBAuto HA, Fault-ToleranceSelf-provisioningHigh RDMS compatibility Hosted SQL Server or otherRoll-your-own HA/DR/scale Security @ DB Server/OSResourcesWindows Azure StorageTablesQueues Blobs (also VMs)SharedLow“Friction”/ControlHigh
Storage ComparisonSQL Azure TablesFully structuredStrongly typedRelational (RDMS)Highly scalableWindows Azure TablesSemi-structuredLoosely typedNon-Relational (Not RDMS)Massively scalable
Application TopologiesSQL ServerApp code/ ToolsApp code/ ToolsApplication/ Browser  Data SyncWindowsAzureWindowsAzureApp Code(ASP.NET)App Code(ASP.NET)T-SQL / TDSApp Code(ASP.NET)App Code(ASP.NET)TSQLTDSTSQLTDSSQL Azure SQL Azure SQL Azure Code FarCode NearHybrid
Database ReplicasMultiple Physical ReplicasReplica 1Single PrimarySingle Logical DatabaseReplica 2DBReplica 3
Logical vs. Physical
SQL Azure focus on logical administrationSchema creation and managementQuery optimizationSecurity management (Logins, Users, Roles)Service handles physical managementAutomatically replicated with HA “out of box”Transparent failover in case of failureLoad balancing of data to ensure SLALogical vs. Physical AdministrationDBA role places more focus on logical management
Customer Evidence
Demo – SQL Azure Portal
Demo - Portal for DB (Houston)
Each account has zero or more serversAzure wide, provisioned in a common portalBilling instrumentEach server has one or more databasesContains metadata about the databases and usageUnit of authenticationUnit of Geo-locationGenerated DNS based nameEach database has standard SQL objectsUnit of consistencyUnit of multi-tenancyContains Users, Tables, Views, Indices, etc.Most granular unit of billingService Provisioning Model     Account     Server       Database
SQL Azure Database AccessWeb Portal(API)Your AppChange Connection String
Use ADO.NET, ODBC, PHP (NOT OLE DB)Client libraries pre-installed in Azure rolesSupport for ASP.NET controlsClients connect directly to a databaseCannot hop across DBs (no USE)May need to include <login>@<server>Use familiar tools (sqlcmd, osql, SSMS, etc)Use connection pooling for efficiencySSMS 2008 R2 can connect http://blogs.msdn.com/ssds/archive/2009/11/11/9921041.aspxConnection Model
Connecting to SQL Azure with SSMS 2008 R2 Houston Client – Silverlight (Portal)SQLCMD – can also be usedSSIS – can also be usedSSRS/SSIS/SSAS – w/SQL Azure as source data – use R2 versionsDemo – Connect via tools
SSMS 2008 R2 – Cloud vs. On Premise
Query Optimizer and Client Statistics can be used with SQL Azure data
Feature not yet implementedPhysical layer – Microsoft handles itCommodity vs. Business Multi-tenantWe must play nice togetherCompatibility Overview
Maximum single database size is 50GBDatabase size calculation Includes: primary replica data, objects and indexesDoes NOT include: logs, master database, system tables, server catalogs or additional replicasAnnounced CTP support for auto-partitioning & fan-out queries (Federation) Currently must handle partitioning logic within the applicationAlso called Database ‘sharding’Sharding Utility, using TPL at http://enzosqlshard.codeplex.com/Database Size Limits
Compatibility In Scope Tables, indexes and views
 w/ clustered indices
 Stored Procedures
 Triggers
 Constraints
 Table variables
 Session temp tables
 Spatial datatypeOut of Scope Distributed Transactions
 Distributed Query
 CLR
 Service Broker
Physical server or catalog DDL and viewsTables (joins) , Views , Stored Procedures, TriggersIndices Index ManagementStatistics ManagementSpatial dataLocal TransactionsSupported T-SQL T-SQL elements
Reserved keywords
Create/drop databases
Create/alter/drop tables
Create/alter/drop users and logins
Constants, Constraints, Cursors, Local temporary tables
Table VariablesCLRDatabase file placementDatabase mirroringDistributed queriesDistributed transactionsFilegroup managementFull Text SearchUnsupported T-SQL Global temporary tables
SQL Server configuration options
SQL Server Service Broker
System tables
Profiler / Trace FlagsGenerating, then modifying, the SQL DDL scriptLoading in the data (bcp, SSIS, etc…)-OR-SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.comDemo – SQL Migration Wizard
SQL Migration Wizard
What Could Go Wrong?
Progress!
Success!
Remove unsupported features, such as…Migrating By HandUSE DATABASE
ON PRIMARY (Filegroups)
Extended Properties
NOT FOR REPLICATION
Various Index options (WITH)
Windows logins
Unsupported XML features
Remove DEFAULT NEWSEQUENTIALID()
Encrypted Stored Procedures
No Heap tables (all tables must have clustered indices)
UDTs3 month release cycleActive CTPs at sqlazurelabs.comRoadmap
Added new Dynamic Management Views (DMVs) Allows return of state information for health monitoring & performance tuningsys.dm_exec_connections, _requests , _sessions, _tran_database_transactions, _active_transactions, _partition_statsAdded ability to move between Web or Business editionALTER 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 toolsImproved long running transaction algorithm Allows import and export of much larger amounts of data without having to chunk your data Added - Feb 2010
Addedavailability in 20 more countries (now 41 total)Complete list here Started with 21 countries, now doubledAddedsupport for MARSSimplifies the design processAdded support for ALTER (rename) DatabaseAdds features found in RDMS to SQL AzureIncluded support in Visual Studio 2010 to manage SQL AzureAllows direct management of SQL Azure databases via Server ExplorerAlso found in SQL Server Management StudioAdded new labs feature - sandboxhttps://www.sqlazurelabs.com/Added - April 2010
Addedupper size limit of 50 GBAvailable June 28, 2010Initial discount on upgrading maximum sizeAddedsupport for Spatial Data TypesSupport for Geography & Geometry data types and queriesSupport for HierarchyID data types (tree-like database structures)Added support DataSync Service for SQL AzureInitially available in CTP via sqlazurelabs.comAnnounced SQL Server Web Manager Web-based SQL Azure management toolInitially available as CTP in summer 2010Added Access 10 support for SQL AzureSupport from Office 2010 to SQL AzureAdded - June 2010
Added Database copy capabilitiesSame server or cross serverCREATE DATABASE DB2A AS COPY OF Server1.DB1A Monitor via sys.dm_database_copiesIncreased MSDN documentation for common programming scenarios (with code examples)Enhanced Project HoustonSupported in multiple data centersView and StoredProc designers addedAdded  - August 2010
Improved Portal at sql.azure.comEnhanced Houston (Silverlight) portalConnected to main Azure portalAnnounced BetasSQL Azure Reporting ServicesSQL Azure FederationSQL Azure Data Sync v 2Added  - Nov 2010

More Related Content

PPTX
Roles y Responsabilidades en SQL Azure
PPTX
Sql Azure Pass
PPTX
SQL Server 2008 Overview
PDF
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
PPTX
Sql server 2012 dba online training
PPT
SQL Server 2008 for Developers
PPT
Tech Days09 Sqldev
PPTX
What's new in SQL Server 2017
Roles y Responsabilidades en SQL Azure
Sql Azure Pass
SQL Server 2008 Overview
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Sql server 2012 dba online training
SQL Server 2008 for Developers
Tech Days09 Sqldev
What's new in SQL Server 2017

What's hot (19)

PDF
Session 2: SQL Server 2012 with Christian Malbeuf
PPT
Saying goodbye to SQL Server 2000
PPT
Higher Productivity With Ase
PPTX
SQL Server Reporting Services 2008
PPT
SQL Server 2008 for Developers
PPTX
SQL Server Developer 70-433
PDF
SQL Server 2019 ctp2.2
PPT
Ms sql server architecture
PPT
Ssis 2008
PDF
Cara v3 8 major new features
PPTX
Introducing ms sql_server_updated
PDF
MS-SQL SERVER ARCHITECTURE
PPT
Mobile
PDF
Ssn0020 ssis 2012 for beginners
PPTX
Introduction of ssis
PDF
SQL Server 2016 BI updates
DOC
SQL Server (BI/T-SQL) Consultant
PPTX
SQL Server 2016 New Features and Enhancements
PDF
Auditing Data Access in SQL Server
Session 2: SQL Server 2012 with Christian Malbeuf
Saying goodbye to SQL Server 2000
Higher Productivity With Ase
SQL Server Reporting Services 2008
SQL Server 2008 for Developers
SQL Server Developer 70-433
SQL Server 2019 ctp2.2
Ms sql server architecture
Ssis 2008
Cara v3 8 major new features
Introducing ms sql_server_updated
MS-SQL SERVER ARCHITECTURE
Mobile
Ssn0020 ssis 2012 for beginners
Introduction of ssis
SQL Server 2016 BI updates
SQL Server (BI/T-SQL) Consultant
SQL Server 2016 New Features and Enhancements
Auditing Data Access in SQL Server
Ad

Similar to Sql azure dec_2010 Lynn & Ike (20)

PPTX
SQL Azure
PPTX
Sql connections germany - migration considerations when migrating your on pre...
PPTX
Real World Sql Azure
PPTX
Why you should(n't) run your databases in the cloud
PPTX
Sql Azure Pass
PPTX
Azure Data platform
PDF
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
PPTX
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
PPTX
SQL Azure the database in the cloud
PPT
SQL Azure Dec 2010 Update
PPT
SQL Azure Dec Update
PPTX
SQL Azure
PPTX
GWAB 2015 - Data Plaraform
PDF
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
PDF
Azure SQL Database
PPTX
Deploying your Application to SQLRally
PPTX
Azure SQL - more or/and less than SQL Server
PPTX
Introduction to Azure SQL DB
PPTX
Azure data platform overview
PPTX
Microsoft Cloud Database & Cloud BI
SQL Azure
Sql connections germany - migration considerations when migrating your on pre...
Real World Sql Azure
Why you should(n't) run your databases in the cloud
Sql Azure Pass
Azure Data platform
KoprowskiT_SQLSat230_Rheinland_SQLAzure-fromPlantoBackuptoCloud
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
SQL Azure the database in the cloud
SQL Azure Dec 2010 Update
SQL Azure Dec Update
SQL Azure
GWAB 2015 - Data Plaraform
KoprowskiT_SQLRelayNottingham_BackupAndRestoreAD2015
Azure SQL Database
Deploying your Application to SQLRally
Azure SQL - more or/and less than SQL Server
Introduction to Azure SQL DB
Azure data platform overview
Microsoft Cloud Database & Cloud BI
Ad

More from Ike Ellis (20)

PPTX
Storytelling with Data with Power BI
PPTX
Storytelling with Data with Power BI.pptx
PPTX
Build a modern data platform.pptx
PPTX
Data Modeling on Azure for Analytics
PPTX
Migrate a successful transactional database to azure
PPTX
Data modeling trends for analytics
PPTX
Data modeling trends for Analytics
PPTX
Relational data modeling trends for transactional applications
PPTX
Power bi premium
PPTX
Move a successful onpremise oltp application to the cloud
PPTX
Azure Databricks is Easier Than You Think
PPTX
Pass 2018 introduction to dax
PPTX
Pass the Power BI Exam
PPTX
Slides for PUG 2018 - DAX CALCULATE
PPTX
Introduction to DAX
PPTX
60 reporting tips in 60 minutes - SQLBits 2018
PPTX
14 Habits of Great SQL Developers
PPTX
14 Habits of Great SQL Developers
PPTX
Dive Into Azure Data Lake - PASS 2017
PPTX
A lap around microsofts business intelligence platform
Storytelling with Data with Power BI
Storytelling with Data with Power BI.pptx
Build a modern data platform.pptx
Data Modeling on Azure for Analytics
Migrate a successful transactional database to azure
Data modeling trends for analytics
Data modeling trends for Analytics
Relational data modeling trends for transactional applications
Power bi premium
Move a successful onpremise oltp application to the cloud
Azure Databricks is Easier Than You Think
Pass 2018 introduction to dax
Pass the Power BI Exam
Slides for PUG 2018 - DAX CALCULATE
Introduction to DAX
60 reporting tips in 60 minutes - SQLBits 2018
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
Dive Into Azure Data Lake - PASS 2017
A lap around microsofts business intelligence platform

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Modernizing your data center with Dell and AMD
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
Empathic Computing: Creating Shared Understanding
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Modernizing your data center with Dell and AMD
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Sql azure dec_2010 Lynn & Ike

  • 1. Lynn Langithttp://blogs.msdn.com/SoCalDevGaltwitter - @llangitIke Ellishttp://EllisTeam.blogspot.comtwitter - @EllisTeam1
  • 2. Windows Azure PlatformCompute: Virtualized compute environment Storage: Durable, scalable, & available storageManagement: Automated, model-driven managementDatabase:Relational processing for structured/unstructured data – Data MarketplaceService Bus: General purpose application busAccess Control: Rules-driven, claims-based access control
  • 3. Data Storage ChoicesOn-premise SQL Server or other s/w on-premise Resource governance @ machine Full h/w control – 100% compatibilityRoll your own HA/DR/scaleDedicatedSQL Azure (RDBMS)HostedVirtual DB serverResource governance @ LDB Security @ LDBAuto HA, Fault-ToleranceSelf-provisioningHigh RDMS compatibility Hosted SQL Server or otherRoll-your-own HA/DR/scale Security @ DB Server/OSResourcesWindows Azure StorageTablesQueues Blobs (also VMs)SharedLow“Friction”/ControlHigh
  • 4. Storage ComparisonSQL Azure TablesFully structuredStrongly typedRelational (RDMS)Highly scalableWindows Azure TablesSemi-structuredLoosely typedNon-Relational (Not RDMS)Massively scalable
  • 5. Application TopologiesSQL ServerApp code/ ToolsApp code/ ToolsApplication/ Browser Data SyncWindowsAzureWindowsAzureApp Code(ASP.NET)App Code(ASP.NET)T-SQL / TDSApp Code(ASP.NET)App Code(ASP.NET)TSQLTDSTSQLTDSSQL Azure SQL Azure SQL Azure Code FarCode NearHybrid
  • 6. Database ReplicasMultiple Physical ReplicasReplica 1Single PrimarySingle Logical DatabaseReplica 2DBReplica 3
  • 8. SQL Azure focus on logical administrationSchema creation and managementQuery optimizationSecurity management (Logins, Users, Roles)Service handles physical managementAutomatically replicated with HA “out of box”Transparent failover in case of failureLoad balancing of data to ensure SLALogical vs. Physical AdministrationDBA role places more focus on logical management
  • 10. Demo – SQL Azure Portal
  • 11. Demo - Portal for DB (Houston)
  • 12. Each account has zero or more serversAzure wide, provisioned in a common portalBilling instrumentEach server has one or more databasesContains metadata about the databases and usageUnit of authenticationUnit of Geo-locationGenerated DNS based nameEach database has standard SQL objectsUnit of consistencyUnit of multi-tenancyContains Users, Tables, Views, Indices, etc.Most granular unit of billingService Provisioning Model Account Server Database
  • 13. SQL Azure Database AccessWeb Portal(API)Your AppChange Connection String
  • 14. Use ADO.NET, ODBC, PHP (NOT OLE DB)Client libraries pre-installed in Azure rolesSupport for ASP.NET controlsClients connect directly to a databaseCannot hop across DBs (no USE)May need to include <login>@<server>Use familiar tools (sqlcmd, osql, SSMS, etc)Use connection pooling for efficiencySSMS 2008 R2 can connect http://blogs.msdn.com/ssds/archive/2009/11/11/9921041.aspxConnection Model
  • 15. Connecting to SQL Azure with SSMS 2008 R2 Houston Client – Silverlight (Portal)SQLCMD – can also be usedSSIS – can also be usedSSRS/SSIS/SSAS – w/SQL Azure as source data – use R2 versionsDemo – 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 implementedPhysical layer – Microsoft handles itCommodity vs. Business Multi-tenantWe must play nice togetherCompatibility Overview
  • 19. Maximum single database size is 50GBDatabase size calculation Includes: primary replica data, objects and indexesDoes NOT include: logs, master database, system tables, server catalogs or additional replicasAnnounced CTP support for auto-partitioning & fan-out queries (Federation) Currently must handle partitioning logic within the applicationAlso called Database ‘sharding’Sharding Utility, using TPL at http://enzosqlshard.codeplex.com/Database Size Limits
  • 20. Compatibility In Scope Tables, indexes and views
  • 21. w/ clustered indices
  • 27. Spatial datatypeOut of Scope Distributed Transactions
  • 31. Physical server or catalog DDL and viewsTables (joins) , Views , Stored Procedures, TriggersIndices Index ManagementStatistics ManagementSpatial dataLocal TransactionsSupported T-SQL T-SQL elements
  • 36. Constants, Constraints, Cursors, Local temporary tables
  • 37. Table VariablesCLRDatabase file placementDatabase mirroringDistributed queriesDistributed transactionsFilegroup managementFull Text SearchUnsupported T-SQL Global temporary tables
  • 41. Profiler / Trace FlagsGenerating, then modifying, the SQL DDL scriptLoading in the data (bcp, SSIS, etc…)-OR-SQL Azure Migration Wizardhttp://sqlazuremw.codeplex.comDemo – SQL Migration Wizard
  • 43. What Could Go Wrong?
  • 46. Remove unsupported features, such as…Migrating By HandUSE DATABASE
  • 55. No Heap tables (all tables must have clustered indices)
  • 56. UDTs3 month release cycleActive CTPs at sqlazurelabs.comRoadmap
  • 57. Added new Dynamic Management Views (DMVs) Allows return of state information for health monitoring & performance tuningsys.dm_exec_connections, _requests , _sessions, _tran_database_transactions, _active_transactions, _partition_statsAdded ability to move between Web or Business editionALTER 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 toolsImproved 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 doubledAddedsupport for MARSSimplifies the design processAdded support for ALTER (rename) DatabaseAdds features found in RDMS to SQL AzureIncluded support in Visual Studio 2010 to manage SQL AzureAllows direct management of SQL Azure databases via Server ExplorerAlso found in SQL Server Management StudioAdded new labs feature - sandboxhttps://www.sqlazurelabs.com/Added - April 2010
  • 59. Addedupper size limit of 50 GBAvailable June 28, 2010Initial discount on upgrading maximum sizeAddedsupport for Spatial Data TypesSupport for Geography & Geometry data types and queriesSupport for HierarchyID data types (tree-like database structures)Added support DataSync Service for SQL AzureInitially available in CTP via sqlazurelabs.comAnnounced SQL Server Web Manager Web-based SQL Azure management toolInitially available as CTP in summer 2010Added Access 10 support for SQL AzureSupport from Office 2010 to SQL AzureAdded - June 2010
  • 60. Added Database copy capabilitiesSame server or cross serverCREATE DATABASE DB2A AS COPY OF Server1.DB1A Monitor via sys.dm_database_copiesIncreased MSDN documentation for common programming scenarios (with code examples)Enhanced Project HoustonSupported in multiple data centersView and StoredProc designers addedAdded - August 2010
  • 61. Improved Portal at sql.azure.comEnhanced Houston (Silverlight) portalConnected to main Azure portalAnnounced BetasSQL Azure Reporting ServicesSQL Azure FederationSQL Azure Data Sync v 2Added - Nov 2010
  • 62. Opportunities and FuturesSQL Web Management and Administration (SWA)Partitioning Utility in CTP soon (Federation)Profiler-like traces / deadlock graphsGeo-location and geo-redundancyDistributed querySecurity w/Active Directory, Windows Live ID, etcSupport for multiple levels of hardware and software isolationBI features – SSRS, SSIS, SSAS
  • 64. Second Hour = DEMOs
  • 66. Data Migration ToolsWizardsSQL Azure Migration Wizard (CodePlex) – hereMigration Assistant for Access or for MySQL – here or hereImport/Export WizardGenerate Script WizardCopy Database commandCREATE DATABASE DB2A AS COPY OF Server1.DB1A Other Tools SSIS BCPDataSync (CTP)OData (CTP)
  • 67. COPY Database (same or different servers)CREATE DATABASE destination_database_name AS COPY OF [source_server_name.]source_database_nameCREATE DATABASE Database2A AS COPY OF Server1.Database1A Check the DMVsProgressHistoryOther DMVsDatabase COPY and DEMO
  • 68. SQL Azure Data Sync Service Scale-out read or read/write
  • 70. Edge network data distribution
  • 71. Content delivery networksSQL AzureSync GroupSQL ServerSQL AzureOn-Premises Applications
  • 72. Data Sync - Demo
  • 75. On Source / on Destination
  • 77. Stored ProceduresOData Support (Labs) - DemoOpen Data ProtocolATOM PUB JSON HTTPhttps://www.sqlazurelabs.com
  • 78. Odata Query & Results
  • 79. Data-tier Application ComponentsData-tier Application Component (DAC)New unit of deployment for T-SQL appsSupports Install, Uninstall, and in the future Upgrade and RepairContains developer intent as policies.Data-tier Application ComponentFuture - DAC Deployment ProfileDeployment Requirements, Management Policies, Failover PoliciesUnit of DeploymentSchemaLOGICALTables, Views, Constraints, SProcs, UDFs,PHYSICALUsers, Logins, Indexes
  • 80. DAC Pack = Single unit (Package) for authoring, deploying, and managing the data-tier objects through the development lifecycleDevelopment Lifecycle (VS 2010) - editing DACsSchema 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 DACsRegistering existing database as DACsDeploying and Upgrading databases using DACs, DAC (Data-tier Application) Packages
  • 81. DACPAC – DEMO in SSMSIn SSMSExtract
  • 83. Monitor w/UCPsIn VS 2010Import
  • 86. Custom applicationsCan use Windows Azure – not requiredCan connect via any client with valid connection stringMicrosoft applicationsConnectivity into Office applicationsExcel, Excel PowerPivot, SharePoint, etc…Connectivity into BI applicationsSSRS, SSIS, SSASApplication Integration
  • 87. Local and Cloud-BasedNo 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 DDLCreate destination DB schema and populate with dataFirewall rules set up via SQL Azure portal (test connectivity)Nothing to install, no SDK requiredSQL Azure application
  • 89. Show SQL Azure Reporting
  • 90. Office 2010 - DEMOReport BuilderPowerPivot
  • 92. SQL Server 2008 R2 Editions
  • 93. Windows Azure Platform –hereWindows Azure Platform Training Kit – here MSDN Development Center – here Team Blogs – SSDS and SQLAzureWant to Know More?
  • 94. Lynn LangitBlog: http://blogs.msdn.com/SoCalDevGalTwitter: @llangitIke EllisBlog: http://EllisTeam.blogspot.comtwitter - @EllisTeam1Contact Me

Editor's Notes

  • #2: Lynn then Ike
  • #3: Lynn
  • #4: LynnMany solutions will use a hybrid (i.e. mixed) approach
  • #5: 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.
  • #6: LynnCode Far works with any type of code – i.e. Java, etc.. Does NOT have to be Azure or .NET
  • #7: 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.
  • #8: Ikehttp://social.technet.microsoft.com/wiki/contents/articles/inside-sql-azure.aspx
  • #9: Ike
  • #10: Lynnhttp://www.microsoft.com/windowsazure/evidence/
  • #11: Lynn talks, Ike types
  • #12: Lynn talks, Ike types
  • #13: Lynn
  • #14: IkeSample code to handle re-try attempts for dropped connections - http://blogs.msdn.com/b/sqlazure/archive/2010/05/11/10011247.aspx
  • #15: 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 &apos;How to connect&apos; 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 &lt;MyUserID&gt;@o8uyxb64fe -P &lt;MyPassword&gt;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 &lt;MyUserID&gt;@o8uyxb64fe -P &lt;MyPassword&gt; -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.
  • #16: Ike talk, Lynn typeSample Connection StringServer=tcp:server.ctp.database.windows.net;Database=&lt;databasename&gt;;User ID=user@server;Password=password;Trusted_Connection=False;
  • #17: Ike talk, Lynn type
  • #18: Ike talking, Lynn is typing
  • #19: Ike talking
  • #20: 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/
  • #21: 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
  • #22: Lynn
  • #23: 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.
  • #24: 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
  • #26: 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.
  • #29: IKE talksFull list athttp://www.microsoft.com/sqlserver/2008/en/us/R2.aspx
  • #30: Lynn
  • #31: 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.
  • #32: LynnFrom SSDS blog http://blogs.msdn.com/sqlazure/archive/2010/04/16/9997517.aspx
  • #33: 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.
  • #34: 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
  • #35: 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
  • #36: Lynn
  • #37: Lynn
  • #38: 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
  • #39: 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.
  • #40: Lynn
  • #41: Lynn talks, Ike typeshttp://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 = &apos;databaseBackup&apos;-- retrieve copying detailsselect * from sys.dm_database_copieswhere database_id = DB_ID(&apos;databaseBackup&apos;)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.
  • #42: Ike talks
  • #43: Ike talks, Lynn types
  • #46: Ike talks
  • #47: http://www.silverlight.net/content/samples/odataexplorer/ - Odata viewer
  • #48: 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”
  • #49: Lynn talks
  • #52: Lynn talks
  • #53: Lynn talks
  • #54: Lynn talks
  • #55: Lynn talks
  • #57: Lynn talks
  • #58: IkeFrom this URL - http://www.microsoft.com/sqlserver/2008/en/us/R2-editions.aspxWhat&apos;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™
  • #59: Lynn
  • #60: Lynn
  • #61: Both
  • #62: Lynn