Deploy SQL Server on Azure Stack HCI

Applies to: Azure Stack HCI, versions 22H2 and 21H2; SQL Server (all supported versions)

This topic provides guidance on how to plan, configure, and deploy SQL Server on the Azure Stack HCI operating system. The operating system is a hyperconverged infrastructure (HCI) cluster solution that hosts virtualized Windows and Linux workloads and their storage in a hybrid on-premises environment.

Solution overview

Azure Stack HCI provides a highly available, cost efficient, flexible platform to run SQL Server and Storage Spaces Direct. Azure Stack HCI can run Online Transaction Processing (OLTP) workloads, data warehouse and BI, and AI and advanced analytics over big data.

The platform’s flexibility is especially important for mission critical databases. You can run SQL Server on virtual machines (VMs) that use either Windows Server or Linux, which allows you to consolidate multiple database workloads and add more VMs to your Azure Stack HCI environment as needed. Azure Stack HCI also enables you to integrate SQL Server with Azure Site Recovery to provide a cloud-based migration, restoration, and protection solution for your organization’s data that is reliable and secure.

Deploy SQL Server

This section describes at a high level how to acquire hardware for SQL Server on Azure Stack HCI, and use Windows Admin Center to manage the operating system on your servers. Information on setting up SQL Server, monitoring and performance tuning, and using High Availability (HA) and Azure hybrid services is included.

Step 1: Acquire hardware from the Azure Stack HCI Catalog

First, you'll need to procure hardware. The easiest way to do that is to locate your preferred Microsoft hardware partner in the Azure Stack HCI Catalog and purchase an integrated system with the Azure Stack HCI operating system preinstalled. In the catalog, you can filter to see vendor hardware that is optimized for this type of workload.

Otherwise, you'll need to deploy the Azure Stack HCI operating system on your own hardware. For details on Azure Stack HCI deployment options and installing Windows Admin Center, see Deploy the Azure Stack HCI operating system.

Next, use Windows Admin Center to create an Azure Stack HCI cluster.

Step 2: Install SQL Server on Azure Stack HCI

You can install SQL Server on VMs running either Windows Server or Linux depending on your requirements.

For instructions on installing SQL Server, see:

Step 3: Monitor and performance tune SQL Server

Microsoft provides a comprehensive set of tools for monitoring events in SQL Server and for tuning the physical database design. Tool choice depends on the type of monitoring or tuning that you want to perform.

To ensure the performance and health of your SQL Server instances on Azure Stack HCI, see Performance Monitoring and Tuning Tools.

For tuning SQL Server 2017 and SQL Server 2016, see Recommended updates and configuration options for SQL Server 2017 and 2016 with high-performance workloads.

Step 4: Use SQL Server high availability features

Azure Stack HCI leverages Windows Server Failover Clustering with SQL Server (WSFC) to support SQL Server running in VMs in the event of a hardware failure. SQL Server also offers Always On availability groups (AG) to provide database-level high availability that is designed to help with application and software faults. In addition to WSFC and AG, Azure Stack HCI can use Always On Failover Cluster Instance (FCI), which is based on Storage Spaces Direct technology for shared storage.

These options all work with the Microsoft Azure Cloud witness for quorum control. We recommend using cluster AntiAffinity rules in WSFC for VMs placed on different physical nodes to maintain uptime for SQL Server in the event of host failures when you configure Always On availability groups.

Step 5: Set up Azure hybrid services

There are several Azure hybrid services that you can use to help keep your SQL Server data and applications secure. Azure Site Recovery is a disaster recovery as a service (DRaaS). For more information about using this service to protect the SQL Server back end of an application to help keep workloads online, see Set up disaster recovery for SQL Server.

Azure Backup lets you define backup policies to protect enterprise workloads and supports backing up and restoring SQL Server consistency. For more information about how to back up your on-premises SQL data, see Install Azure Backup Server.

Alternatively, you can use the SQL Server Managed Backup feature in SQL Server to manage Azure Blob Storage backups.

For more information about using this option that is suitable for off-site archiving, see:

In addition to these backup scenarios, you can set up other database services that SQL Server offers, including Azure Data Factory and Azure Feature Pack for Integration Services (SSIS).

Next steps

For more information about working with SQL Server, see: