What’s New in Microsoft SQL Server 2012 for Administrators & Developers Bryan Smith
AlwaysOn Reliable Secondaries FileTable ColumnStore Index 15k Partitions SQL Server Data Tools Power View BI Semantic Model Data Quality Services Full-Text Search Performance Distributed Replay Reporting Alerts ODBC Driver for Linux Statistical Semantic Search Windows Server Core Support Multiple Secondaries Availability Groups Default Scheme for Windows Groups T-SQL Enhancements Full Globe Spatial SSMS to Windows Azure Platform PowerPivot Enhancements Master Data Management Excel Add-in PowerShell 2.0 Support PHP & Java Connectivity SQL Audit for All Editions CDC Support for SSIS New SSIS Design Surface Online Operation Enhancements Multi-site Clustering Unstructured Data Performance Resource Governor Enhancements Database Recovery Advisor HA for StreamInsight Flexible Failover Policy Extended Events Enhancements Contained Database Authentication SharePoint Active Directory Support SQL Server Express LocalDB User-defined Audit Audit Filtering Audit Resilience FTS Support for Czech and Greek AlwaysOn Connection Director Ad Hoc Reporting SSIS Troubleshooting SSIS Package Management T-SQL Debugger Enhancements Spatial 2D Support Unstructured Data Performance
Rapid data discovery Managed self-service BI Credible, consistent data Complete DW solutions Rapid data discovery Managed self-service BI Credible, consistent data Complete DW solutions Scale on demand Fast time to market Extend any data, anywhere Optimized productivity Scale on demand Fast time to market Extend any data, anywhere Optimized productivity Required 9s & protection Blazing-fast performance Organizational compliance Peace of mind Required 9s & protection Blazing-fast performance Organizational compliance Peace of mind MISSION CRITICAL CONFIDENCE CLOUD ON YOUR TERMS BREAKTHROUGH INSIGHT Unlock new insights with pervasive data discovery across the organization Create business solutions fast, on your terms across server & private or public cloud Enable mission critical performance & availability at an appropriate TCO
Database Engine Analysis Services Integration Services Master Data Services Data Quality Services Reporting Services StreamInsight
Survey Developers Administrators
AlwaysOn: Objectives Increased availability Improved hardware utilization Simplified administration
AlwaysOn: Availability Instance AvailabilityDatabase Availability
AlwaysOn: Instance Availability Enhances Windows Failover Clustering with: – Enhanced diagnostics – Flexible failover policies – Easier multi-site clustering
AlwaysOn: Health & Diagnostics Five Resource Types: System Resources Query Processing IO Subsystem Events
AlwaysOn: Failover Policies Condition Policy Number Windows Service Down Cannot Obtain Health System Reports Error Resource Reports Error Query Processing Reports Error
AlwaysOn: Multi-Site Clustering Multi-site clustering supported since 2005 – VLAN required between sites – Storage-level replication separate from SQL Server Multi-subnet support with 2012 – Storage-level replication still separate from SQL Server DNS Site ASite B
AlwaysOn: Database Availability Enhances database mirroring with: – Multiple Secondaries – Availability Groups – Virtual Network Name – Readable Secondaries
AlwaysOn: Availability Groups Multiple user databases in replicated set Failover together within topology
AlwaysOn: Secondaries 1 primary + up to 4 secondaries – 2 max synchronous secondaries Provide failover & automatic page correction 1 secondary in automatic failover pair
AlwaysOn: Secondaries
AlwaysOn: Automated Failover Condition Policy Number Windows Service Down OR AG Lease Expired Replica in Failed State System Reports Error Resource Reports Error Query Processing Report Error
AlwaysOn: Virtual Network Name Virtual Network Name (VNN) established with Windows Failover Cluster Services (WFCS) Availability Group Listener interacts with WFCS to identify primary Availability Group Applications connect to VNN or individual server names Virtual Network Name
AlwaysOn: Readability All secondaries support backups 2 secondaries can be designated readable Availability Group Listener can route read-only workloads to readable secondaries – Routing list prioritizes secondaries – Application must specify ReadOnly intent Virtual Network Name
AlwaysOn: Administration
Windows Core Server Support Supports: – Database Engine – Analysis Services – Integration Services
Security: Contained Databases Instance User Login Instance User/Login Useful in scenarios when need to move a database: AlwaysOn Application Development Azure
Security: Contained Databases Supports Windows & SQL authentication – Windows-only recommended for authentication security & DoS concerns Must be enabled at instance-level and implemented for specific databases Access to instance-level resources permitted – Database becomes partially contained – Partial containment monitored through sys.dm_db_uncontained_entities & cdb_uncontained_usage event
Security: Contained Databases Increased potential attack surface – db_owner, db_securityadmin, or users with ALTER ANY USER permissions can grant access without knowledge of instance admins Drives security administration to multiple levels – DB-level logins can access other databases through guest or corresponding logins or user-accounts
Security BUILTIN\Admins & LocalSystem Managed service accounts & virtual accounts Custom server roles
Security: Audit Improvements Server-level audit available in every edition – Database-level audit in Enterprise & Developer only Fail operation options for log failures More information in audit logs Audits can be defined with filters sp_audit_write proc for custom audit
Resource Governor Enhancements Support for 64 resource pools Hard caps for CPU usage – CPU does not wait for contention Resource pools can be assigned affinity for specific schedulers or NUMA nodes
Performance Improvements Full-text search – Fully integrated with database engine – Improved query optimization & parallelism – Versioning to improve concurrent reads & writes Spatial indexes – Numerous improvements to indexes – Helper procs for easier index tuning – Support for row and page-level compression – Query plan optimizations
Performance Improvements Expanded online operations – Add a non-nullable column with a default – Index rebuilds support BLOBs Support for 15k partitions – Back ported to SQL Server 2008 & 2008 R2 Columnstore indexes!
Header Offset Array Columnar Storage
Columnstore Index Execution Plan With Columnstore Index Without Columnstore Index
Columnstore Index Scan Scans required index columns Optimized for batch retrieval – Retrieves ~1,000 rows per batch – Batches proceed to subsequent filtering
Batch Hash Table Build & Hash Match Multiple filtering values organized as hash table Hash table applied to index scan batches &
Memory Consumption With Columnstore Index Without Columnstore Index
New T-SQL Functions String Conversion Date & Time Logical Analytical
String Conversion Functions PARSE FORMAT CONCAT TRY_CONVERT TRY_PARSE
Date & Time Functions DATEFROMPARTS DATETIME2FROMPARTS DATETIMEFROMPARTS DATETIMEOFFSETFROMPARTS SMALLDATETIMEFROMPARTS TIMEFROMPARTS EOMONTH
Logical Functions CHOOSE IIF
Analytical Functions CUME_DIST PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC FIRST_VALUE LAST_VALUE LEAD LAG
Programmability Enhancements Pagination in ORDER BY clause
Programmability Enhancements Windowed operations in OVER clause – Enable moving averages, running totals, etc.
Programmability Enhancements THROW statement FORCESEEK & FORCESCAN table hints – Back ported to SQL Server 2008 R2
Sequence Objects Defined using: – TinyInt: 0 to 255 – SmallInt: -32,768 to 32,767 – Int: -2,147,483,648 to 2,147,483,647 – BigInt: -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 – Decimal: - 99,999,999,999,999,999,999,999,999,999,999,999,999 to 99,999,999,999,999,999,999,999,999,999,999,999,999 using decimal(38,0) Bound by start, increment, min & max values Cycle options for when range is exceeded Created outside scope of current transaction – Values consumed upon request Caching available for performance – Cache lost with system failure – Default cache of 50 Retrieved using NEXT VALUE FOR or sp_sequence_get_range
FileTable Objects
Semantic Search
SQL Server Data Tools
Data Providers Non-WindowsWindows/Windows Azure.NET (ADO.NET) Native (ODBC) PHP (SQLPHP) Java (JDBC) Native (ODBC)
Distributed Replay Utility Employs standard replay trace from Up to 16 replay clients + 1 controller Executes in synchronization or stress mode
Upgrade Advisor
System Center Advisor
SQL Server Appliances Workload optimized solutions – MPP & SMP Data Warehouse – All-in-One Business Intelligence – Database Consolidation/Private Cloud – High-Performance OLTP Fastest time to deployment End-to-end support
Database Engine Analysis Services Integration Services Master Data Services Data Quality Services Reporting Services StreamInsight
MSFT CEP Engine Reference data Application Event Sources Devices, Sensors Event stores & Databases Stock tickers & News feeds Event Targets Pagers & Monitoring devices KPI Dashboards, SharePoint UI Trading stations Output Adapters Input Adapters Microsoft SQL Server 2012 for embedded systems
Database Engine Analysis Services Integration Services Master Data Services Data Quality Services Reporting Services StreamInsight
Enterprise Information Management MARKETPLACE External Data and Services RELATIONAL MULTIDIMENSIONAL CollaborationMobile DECISIONS & ACTION Workflow INSIGHT Social OPERATIONAL AD-HOC MODELING PREDICTIVE EXPLORATION SHARING NON RELATIONAL STREAMING DATA MANAGEMENT SUBSTRATE FEDERATED STORAGE & QUERY Real-time Embedded SHARE DISCOVER TRANSFORM RECOMMEND CLEAN GOVERN INFORMATION MANAGEMENT
Data Quality Services
Master Data Services
Integration Services
Project Codename Barcelona
Database Engine Analysis Services Integration Services Master Data Services Data Quality Services Reporting Services StreamInsight
AlwaysOn Reliable Secondaries FileTable ColumnStore Index 15k Partitions SQL Server Data Tools Power View BI Semantic Model Data Quality Services Full-Text Search Performance Distributed Replay Reporting Alerts ODBC Driver for Linux Statistical Semantic Search Windows Server Core Support Multiple Secondaries Availability Groups Default Scheme for Windows Groups T-SQL Enhancements Full Globe Spatial SSMS to Windows Azure Platform PowerPivot Enhancements Master Data Management Excel Add-in PowerShell 2.0 Support PHP & Java Connectivity SQL Audit for All Editions CDC Support for SSIS New SSIS Design Surface Online Operation Enhancements Multi-site Clustering Unstructured Data Performance Resource Governor Enhancements Database Recovery Advisor HA for StreamInsight Flexible Failover Policy Extended Events Enhancements Contained Database Authentication SharePoint Active Directory Support SQL Server Express LocalDB User-defined Audit Audit Filtering Audit Resilience FTS Support for Czech and Greek AlwaysOn Connection Director Ad Hoc Reporting SSIS Troubleshooting SSIS Package Management T-SQL Debugger Enhancements Spatial 2D Support Unstructured Data Performance
Upgrade Resources What’s New? What’s Deprecated, Discontinued, Broken, or Changed? What’s Deprecated, Discontinued, Broken, or Changed? Upgrade Advisor
Certifications Microsoft Certified Technical Specialist (MCTS) Microsoft Certified IT Professional (MCITP) – Data Platform : Designing Database Solutions with Microsoft SQL Server : Developing Microsoft SQL Server 2012 Databases : Implementing Data Warehouses with Microsoft SQL Server : Administering a Microsoft SQL Server 2012 Database : Querying Microsoft SQL Server – Business Intelligence : Designing Business Intelligence Solutions with Microsoft SQL Server : Implementing Data Models & Reports with Microsoft SQL Server : Implementing Data Warehouses with Microsoft SQL Server : Administering a Microsoft SQL Server 2012 Database : Querying Microsoft SQL Server Microsoft Certified Master – Data Platform – Business Intelligence
Community Events SQL Saturday #107 – Houston, TX PASS SQL Rally – Dallas, TX Microsoft TechEd – Orlando, FL SQL Saturday #125 – Oklahoma City, OK PASS Summit – Seattle, WA
SQL Rally