<<

SQL Server on and AG (HA) in Azure Tejas Shah Principal Program Manager @mr_tejs | https://www.linkedin.com/in/tejas-shah-72a62027/ Agenda • SQL Server on Linux • SQL Server 2019 Improvement Themes • SQL Server 2019 on Linux Improvements • SQL Server on Linux Images on Azure • Enabling HA on SQL Server on Linux on Azure SQL Server on Linux Choice with Compatibility

Support for RedHat Enterprise Linux (RHEL), Ubuntu, and SUSE Enterprise Linux (SLES)

Linux OCI compliant containers, supported standalone or Orchestration platforms

Package-based installation: Install, Apt- Get, and Zypper

Windows Server / Windows 10

Database Compatibility on all Platforms What’s in SQL Server on Linux

Windows Linux

Editions Developer, Express, Web, Standard, Enterprise   Database Engine, Integration Services, SQL Server Agent   Services Analysis Services, Reporting Services, MDS, DQS  Maximum number of cores Unlimited Unlimited Maximum memory utilized per instance 24 TB 12 TB Maximum database size 524 PB 524 PB Mission critical performance Basic OLTP (Basic In-Memory OLTP, Basic operational analytics)   and HADR Advanced OLTP (Advanced In-Memory OLTP, Advanced operational analytics, adaptive query processing)   SQL Server Replication and CDC   NEW Basic high availability (2-node single database failover, non-readable secondary)  

Advanced HA (Always On - multi-node, multi-db failover, readable secondaries)  

Basic security (Basic auditing, Row-level security, Data masking, Always Encrypted, Active Directory Authentication)   Security Advanced security (Transparent Data Encryption)   PolyBase   NEW Basic data warehousing/data marts (Basic In-Memory ColumnStore, Partitioning, Compression)   Data warehousing Advanced data warehousing (Advanced In-Memory ColumnStore)  

Advanced data integration (Fuzzy grouping and look ups)  

Windows ecosystem: Full-fidelity Management & Dev Tool (SSMS & SSDT), command line tools   Tools Linux/OSX/Windows ecosystem: Dev tools (VS Code), DB Admin GUI tool, command line tools  

Programmability (T-SQL, CLR, Data Types, JSON, Graph)   Developer Distributed Transactions   NEW Machine Learning Services   NEW SQL Server 2019 Solving Modern Data Challenges ciphertext

SQL 1010 0101 0110

plaintext

Enclave

R

Arm64 SQL Server 2019 on Linux New Capabilities

T-SQL PHP Java Node.js Database Database C/C++ Python C#/VB.NET Ruby

Machine Learning Services with R/Python Replication Persisted Memory Enlightened I/O Polybase CDC Memory Pressure Notifications Distributed Transactions DMV

SQL

Microsoft Container Registry Non-root container images Support for RHEL 8/Ubuntu * OpenLDAP support for 3rd RHEL Container Image 18.04/SLES 15 * Including container images party AD providers OpenShift support SQL Server on Linux images in Azure HADR with SQL Server on Linux

Failover Cluster Instance High Availability Availability Group Read-Scale Availability Group Pacemaker and Corosync CLUSTER_TYPE = EXTERNAL CLUSTER_TYPE=NONE Single SQL Server instance Auto failover No clustering required SQL resource agent (mssql-server-ha) Pacemaker Manual or forced failover SQL resource agent (mssql-server-ha) Sync or async replicas Open-source resource agent is Read scale routing available on GitHub Repository1 3 replicas required Cross-platform Configuration only replica for Shared Storage metadata ISCI, NFS, SMB Full AG capabilities

Industry-leading solutions available from HA/DR partners2 SQL Server Always On Availability Group on top of Linux native pacemaker clustering technology SQL Server Availability Groups Support in Azure VM Improved failover time • Azure fencing agent (fence_azure_arm) can immediately force the shutdown of a VM • Overall failover time reduced to seconds from minutes

Increased safety Avoids exposure to reliability issues with softdog fencing See: http://blog.clusterlabs.org/blog/2019/savaged-by-softdog

SQL Server certification • mssql-server is certified with HA and fence_azure_arm • Full Availability Groups (AG) support • Same capabilities on Azure as available with on-prem

SQL on RHEL Azure Operations Guide: https://azure.microsoft.com/en-us/resources/sql-server-on-rhel-azure-vms-operations-guide/ SQL Server Always On Availability Group (HA) on Linux VM on Azure DEMO How to configure SQL HA on RHEL VM in Azure

*Coming soon to SLES

Create a new Configure Optionally: resource group, Configure a Install SQL Configure SQL availability Configure AG availability set, Create a fencing agent Test a failover Enable high Server and Server Always group (AG) listener on SQL and Linux Pacemaker by creating a and the fencing availability (HA) mssql-tools on On availability resources in Server and load virtual cluster STONITH agent RHEL group the Pacemaker balancer in machines device cluster Azure (VMs)

https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/rhel-high-availability-stonith-tutorial https://docs.microsoft.com/en-us/azure/azure-sql/virtual-machines/linux/rhel-high-availability-listener-tutorial Thank you