Christian Bolton SQL11 What’s Coming
SQL Azure Workload Appliances Data Warehouse Consolidation OLTP BI SQL Server 2008 SQL Server “Denali”
Infrastructure and server software in a single integrated solution Appliances Data WarehousingBusiness Intelligence Private Cloud (Virtualization & Consolidation) OLTP – Online Transaction Processing Optimized for Business goals, optimized for Resource Usage, optimized per workload
High Availability EDIM AlwaysOn SSIS Server Security & Manageability User-Defined Server Roles Web & Breadth PHP Driver Scalability and Performance > 1000 Partitions / table Business Intelligence Unified Semantic Model Data Lineage Database Replay Semantic Platform Crescent Application Centric Failover Data Quality Contained Database Authentication LocalDB Fast FileStream UTF-16 Online Operations Fast Full Text Alerting Enhanced MDS In-memory BI for corporate Impact Analysis SQL Studio Reliable & Integrated Failover Detection Multiple Readable Secondaries Audit Enhancements Paging for result sets Column store DW Win32 access to database files HA for StreamInsight Full Globe Spatial Support DAC Enhancements Sysprep for AS Management Pack for High Availability Backup Secondaries ODBC for Linux JDBC 4.0 driver Support for ARM processors SSMS Enhancements FileTable Default Schema for Windows Group PowerPivot Enhancements Windows Server Core Support Reporting as SharePoint Shared Service
Infrastructure and server software in a single integrated solution Existing Technologies Failover Clustering Local server redundancy Database Mirroring Primary disaster site for databases Local server and storage redundancy Log Shipping Additional disaster sites for databases App/user error recovery Replication Database reporting and read scale out with redundancy Always On Partner Solutions Highest hardware availability
Improve Failure Detection Eliminate false failures Availability of necessary data for a non-repro root cause analysis of SQL failures Health check mechanism which accurately identifies all detectable SQL failures
Before SQL11 Machine 1
Before SQL11 Too many false failovers Server too busy to take new connections Query timeout couldn’t be configured Single query failure would cause failover Ping pong during heavy load No failover when SQL Server is hung runs, everything else is broken
How to fix it? Part 1: Create a mechanism to determine health state sp_server_diagnostics Resource dll must be architected to use new model Part 2: allow user to configure what healthy means to them New configuration options in the resource dll
sp_server_diagnostics Analyze internal system state Reliable when nothing else is working Report health state when nothing is working Reporting health state for different components Component name Health state: Clean, Warning, Error, Not determined Data: Extra logging for troubleshooting Memory status Wait stats, blocker report XEvents ring buffer
Cluster resource dll Use result from SP to determine when to failover Configure sensitivity level Configurable health check timeout
Syntax Run in a loop, report health status every n seconds Run once and stop when interval = 0 = [sec]
User-Configurable Failure Detection Failure Level NameBehavior 0 No automatic failover or restart Diagnose and log only 1 Failover or restart on SQL Server down Failover or restart when 1) SQL Server service is down. 2 Failover or restart on SQL Server unresponsive Failover or restart when 1) SQL Server service is down. 2) SQL Server does not respond to any client requests. 3 Failover or restart on critical SQL Server errors Failover or restart when … 3) SQL Engine internal errors like orphaned spinlocks, serious write-access violations, too much dumping. 4 Failover or restart on moderate SQL Server errors … 4) Persistent out of memory condition in the SQL Server internal resource pool. 5 Failover or restart on any qualified failure conditions … 5) SQL Engine worker thread exhaustion. 6) Unsolvable deadlock is detected.
SQL11 Machine 1
AlwaysOn AA AA Shared Storage AA Solution Options Local Solution on Shared Storage Faster, more reliable failure detection Automated failover of client connections Support for stretch clusters SQL Server instance failover Local Solution on Non-Shared Storage Automated failover of client connections Both synchronous and asynchronous data movement Multiple secondary failover targets can be maintained Readable secondary failover targets Failover multiple databases with dependent objects like logins Disaster Recovery Solution Asynchronous data movement Manual failover with fast recovery Multiple secondary failover targets can be maintained Readable secondary failover targets Failover multiple databases with dependent objects like logins
High-Level Architecture SQL Server Instance Availability Group 1 Availability Group 2 Physical log based data transport Synch or Asynch 17 Windows Server Failover Clustering
Key concepts for AlwaysOn Contained Database (CDB) Database and additional objects associated with that database: Logins, Agent Jobs, etc Availability Group Set of DBs or CDBs that you failover together Defines Availability Replica locations and settings Availability Replica Physical copy of the set of databases defined for an Availability Group
Application behaviour in current database mirroring PrimaryMirror Log Records SQL 2008 Database Mirroring R/W workloadOperational Reporting MirrorPrimary Backup
New Solution: Readable Secondary Primary Replica Secondary Replica Log Records Database Mirroring like functionality with AlwaysOn R/W workload Operational Reporting Secondary Replica Primary Replica Backup
Connecting to an AlwaysOn Availability Group Subnet1 2. VNN => VIP1,VIP2 HADR AG1 N1 N2 N3 1. Lookup VNN 3. Connect to VIP1 VIP1 bound to AG1 Primary on N1 VIP1 bound to AG1 Primary on N1 DNS VIP2 brought online on N3 after failover 4. Connect to VIP2 (after failover) Subnet2 Seamless and efficient failover Seamless connectivity even across sub-nets
Other new features Windows Server Core Stripped down installation of Windows (no GUI) 60%-70% less reboots due to less updates All SQL Server SKUs supported but x64 only FileTable New type of table Allows you to backup, restore, search, and update Windows files from within SQL Server TSQL support for window aggregation Applies the aggregation while you’re reading data Enhances performance and flexibility User-Defined Server Roles Allows for better compliance with more granular roles Default Schema for Windows Groups Increase manageability and decrease complexity Manage sever access more effectively with domain groups
Other new features XE Profiler New, ultra-low impact profiling tool built on Extended Events Distributed Replay Use multiple computers to replay a captured trace from multiple machines Helps to simulate a mission critical workload SSIS is now a server Integrated with SQL Server Avoids memory contention with SQL Server Memory Manager changes CLR and MPAs now part of the buffer pool Max Server Memory can be set higher No AWE!
Q&A
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.