SQL VM Performance Optimized Storage Settings on UltraSSD

Last updated: 19/09/2020

Create a SQL Server Virtual Machine with performance optimized storage settings, using UltraSSD for SQL Log files

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service, and are made available AS IS without warranty of any kind.


Parameter Name Description
virtualMachineName The name of the VM
virtualMachineSize The virtual machine size.
existingVirtualNetworkName Specify the name of an existing VNet in the same resource group
existingVnetResourceGroup Specify the resrouce group of the existing VNet
existingSubnetName Specify the name of the Subnet Name
imageOffer Windows Server and SQL Offer
sqlSku SQL Server Sku
zone Zone to deploy to
adminUsername The admin user name of the VM
adminPassword The admin password of the VM
storageWorkloadType SQL Server Workload Type
sqlDataDisksCount Amount of data disks (1TB each) for SQL Data files
dataPath Path for SQL Data files. Please choose drive letter from F to Z, and other drives from A to E are reserved for system
sqlLogUltraSSDDiskSizeInGB SQL Log UltraSSD Disk size in GiB.
sqlLogUltraSSDdiskIOPSReadWrite SQL Log UltraSSD Disk IOPS value representing the maximum IOPS that the disk can achieve.
sqlLogUltraSSDdiskMbpsReadWrite SQL Log UltraSSD Disk MBps value representing the maximum throughput that the disk can achieve.
logPath Path for SQL Log files. Please choose drive letter from F to Z and different than the one used for SQL data. Drive letter from A to E are reserved for system
location Location for all resources.

Use the template


New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-sql-vm-new-storage-ultrassd/azuredeploy.json
Installing and configuring Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-sql-vm-new-storage-ultrassd/azuredeploy.json
Installing and configuring the Azure cross-platform command-line interface