How to tune your applications before moving your database to Microsoft Azure SQL Database (MASD) OK, you've jumped into your Azure journey by creating.

Slides:



Advertisements
Similar presentations
Yukon – What is New Rajesh Gala. Yukon – What is new.NET Framework Programming Data Types Exception Handling Batches Databases Database Engine Administration.
Advertisements

1 Migrating from Access to SQL Server Simon Kingston, CSU / NPS NRGIS.
Eric Nelson Application Architect, Microsoft |
Application Internet Azure Cloud Internet Azure Cloud LB TDS (tcp) Applications use standard SQL client libraries: ODBC, ADO.Net, PHP, … Load balancer.
From Server to Service: How Microsoft moved Team Foundation Server to Windows Azure Grant Holliday Senior Premier Field Engineer AZR323b.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Subtitle color From Windows Azure From Outside Microsoft Datacenter From Outside Microsoft Datacenter & Windows Azure Application / Browser Windows.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Manage & Configure SQL Database on the Cloud Haishi Bai Technical Evangelist Microsoft.
XVII Encontro – 29/11/2011. Virgílio Esteves ID&T – Research & Founder of NetPonto Coimbra C# / WPF / Silverlight / XNA / Azure.
Windows Azure SQL Database and Storage Name Title Organization.
Subtitle color From Windows Azure From Outside Microsoft Datacenter From Windows Azure & Outside Microsoft Datacenter Application / Browser Windows.
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Windows Azure Conference 2014 Windows Azure SQL Database - Migration and Optimization.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
Virtual techdays INDIA │ august 2010 SQL Azure – Tips and Tricks Ramaprasanna Chellamuthu │ Developer Evangelist, Microsoft.
Part 04 – Preparing to Deploy to the Cloud Entity Framework and MVC Series Tom Perkins NTPCUG.
ArcGIS Server for Administrators
1 Chapter Overview Performing Configuration Tasks Setting Up Additional Features Performing Maintenance Tasks.
SQL School is strongly committed to provide COMPLETE PRACTICAL REALTIME Trainings on SQL Server Technologies – Dev, SQL DBA, MSBI (SSIS, SSAS, SSRS) and.
Text Microsoft to Or Tweet #uktechdays Questions?
Migrating Data to SQL Azure Arunraj Chandrasekaran Twitter June 21, 2011.
Technology Drill Down: Windows Azure Platform Eric Nelson | ISV Application Architect | Microsoft UK |
Page 1 Overview of SQL Azure Jeff Chu |
Page 1 Programming SQL Azure Database Jeff Chu |
Introduction to MySQL  Working with MySQL and MySQL Workbench.
Putting Your Head in the Cloud Working with SQL Azure David Postlethwaite 19/09/2015David Postlethwaite.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
SQL Server as a Cloud Service April 15th 2016 Warner Chaves Data Platform MVP/SQL Server MCM.
Migrating to Azure and the Cloud Bob Duffy Database Architect Prodata SQL Centre of Excellence 28th Sept, 2013.
Microsoft Dynamics NAV Dynamics NAV 2016 one Azure SQL Dmitry Chadayev Microsoft.
Migrate SQL Server Apps to SQL Azure Cloud DB
Windows Azure SQL Database - Basic
Top 10 Entity Framework Features Every Developer Should Know
Introduction to SQL Azure
Module 1: SQL Server Overview
Data Platform and Analytics Foundational Training
TechEd /15/ :03 AM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered.
Netscape Application Server
Using a Gateway to Leverage On-Premises Data in Power BI
- for the SSASMD Developer
Lead SQL BankofAmerica Blog: SQLHarry.com
Using a Gateway to Leverage On-Premises data in Power BI
A Technical Overview of Microsoft® SQL Server™ 2005 High Availability Beta 2 Matthew Stephen IT Pro Evangelist (SQL Server)
SQL Server Monitoring Overview
Introduction to windows azure: windows azure, sql azure and app fabric
Building Applications with Windows Azure and SQL Azure
Contained DB? Did it do something wrong?
Using a Gateway to Leverage On-Premises Data in Power BI
Customer Evidences from MTC
Storing bits and bytes in the cloud
microsoft cloud platform: enterprise-class architecture
Cloud Data Replication with SQL Data Sync
Saranya Sriram Developer Evangelist | Microsoft
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
TechEd /3/ :48 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Developing for Windows Azure
Azure Cosmos DB with SQL API .Net SDK
Developing Microsoft Azure Solutions Jump Start
Building global and highly-available services using Windows Azure
Bob Duffy 27 years in database sector, 250+ projects
Troubleshooting.
Managing and monitoring SQL Server on Linux from the command line
Michelle Haarhues Keeping up with SSMS.
Azure SQL Database Lessons Learned From the Trenches Best practices, Tips and Tricks on monitoring and improving performance. Fernando Cobo.
Johan Lindberg, inRiver
SQL Azure to .NET Developers
Presentation transcript:

How to tune your applications before moving your database to Microsoft Azure SQL Database (MASD) OK, you've jumped into your Azure journey by creating your Azure SQL Database. Created your schema and filled up your data or just used import/export wizard. Then, you've plugged your application(s) to this new Azure SQL Database but something goes wrong by means of performance. It was working perfectly ok when your database was running on your on premises SQL Server. But now it does not perform very well with Azure SQL Database and your users started reporting interesting error message that you did not see before. "What could it be wrong ?" Faruk Çelik / Developer Support Escalation Engineer / Microsoft

Sponsors Main Sponsor Gold Sponsors

Azure SQL Database Topology Application Internet TDS (tcp) Load Balancer Forwards “sticky” sessions to TDS protocol tier TDS tcp) Security Boundary Load Balancer TDS Protocol Gateway – Proxy to Backend SQL Server SQL Server SQL Server SQL Server SQL Server SQL Server SQL Server SQL Azure Fabric – Automatic Failover, Replication and Load Balancing

Data Access technologies you can use connectiong SQL Azure Database Managed (.NET) applications : ADO.NET, Entity Framework and ODBC Unmanaged (non-.NET) applications: Use ODBC OLEDB is not supported ! Java applications: Use Microsoft SQL Server JDBC Driver 4.0 (4.1 is in CTP) On Linux : Use Microsoft ODBC Driver 11 on Linux (Tested on RHEL 5 and 6. SUSE version is in CTP)

Data Access tools you can use connectiong SQL Azure Database Use familiar tools (sqlcmd, osql, SSMS, etc) (SQL Server Management Studio 2008 R2 / 2012 / 2014)

Monitoring Azure SQL Database Using Dynamic Management Views http://msdn.microsoft.com/en-us/library/ff394114.aspx Microsoft Azure SQL Database enables a subset of dynamic management views to diagnose the performance problems, which might be caused by blocked or long-running queries, resource bottlenecks, poor query plans, and so on. This topic provides information on how to detect common performance problems by using the dynamic management views in Microsoft Azure SQL Database. Microsoft Azure SQL Database partially supports three categories of dynamic management views: Database-related dynamic management views. Execution-related dynamic management views.  Transaction-related dynamic management views. 

Not-supported features a developer should know OLE DB provider is not supported Creating a linked server in your on-prem SQL Server to MASD is not supported «yet» Distributed transactions are not supported

Authentication SQL Server SQL Azure Windows Authentication SQL Authentication SQL Azure SQL Authentication only!!!

Connection Management SQL Server No default connection termination SQL Azure Server (and other internal MS tools) decides to keep a connection or terminate

Azure SQL Database General Guidelines and Limitations http://msdn.microsoft.com/en-us/library/azure/ee336245.aspx Database Throughput Unit (DTU) Quotas Driver, Library, and Protocol Support Visual Studio Support Tools and Technology Support Data Migration Support SQL Server Agent/Jobs Transaction Support Row Versioning-Based Isolation Levels SQL Server Collation Support Clustered Index Requirement Database Count and Size Limit Naming Requirements Connection Constraints

Connection-loss errors http://msdn.microsoft.com/en-us/library/azure/4cff491e-9359-4454-bd7c-fb72c4c452ca#bkmk_connection_errors Resource ID: %d. The %s limit for the database is %d and has been reached. For more information, see http://go.microsoft.com/fwlink/?LinkId=267637. Resource ID: %d. The %s minimum guarantee is %d, maximum limit is %d and the current usage for the database is %d. However, the server is currently too busy to support requests greater than %d for this database. For more information, see http://go.microsoft.com/fwlink/?LinkId=267637. Otherwise, please try again later. The service has encountered an error processing your request. Please try again. Error code %d. The service is currently busy. Retry the request after 10 seconds. Incident ID: %ls. Code: %d. The database has reached its size quota. Partition or delete data, drop indexes, or consult the documentation for possible resolutions. Session is terminated because you have a long-running transaction. Try shortening your transaction. The session has been terminated because it has acquired too many locks. Try reading or modifying fewer rows in a single transaction. The session has been terminated because of excessive TEMPDB usage. Try modifying your query to reduce the temporary table space usage. The session has been terminated because of excessive transaction log space usage. Try modifying fewer rows in a single transaction. The session has been terminated because of excessive memory usage. Try modifying your query to process fewer rows. Database '%.*ls' on server '%.*ls' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of '%.*ls'.

Enterprise Library - Transient Fault Handling App Block – Microsoft SQL Azure Database https://www.nuget.org/packages/EnterpriseLibrary.TransientFaultHandling.Data/6.0.1304.1

Demo : Implementing Transient Fault Handling

Interactive Troubleshooter for Microsoft Azure SQL Database connectivity issues http://support.microsoft.com/kb/2980233/en-us Don’t forget checking : http://azure.microsoft.com/en-us/status

Resources Idle connection resiliency : http://msdn.microsoft.com/en-us/library/dn632678.aspx Scaling Out Azure SQL Databases (Elastic Scale, Custom Sharding) : http://msdn.microsoft.com/en-us/library/dn495641.aspx Free Microsoft Press eBook : «Building Cloud Apps with Microsoft Azure» July, 2014 http://www.microsoftvirtualacademy.com/ebooks#9780735695658

Q&A