We are delighted to announce the release of new optimized SQL Server images in the Microsoft Azure Virtual Machines Gallery. These images are pre-configured with optimizations for transactional and Data Warehousing workloads respectively by baking in our performance best practices for running SQL in Azure VMs.
What preconfigured VM images are available?
The following four new pre-configured VM images are now available in the Azure VM Gallery:
- SQL Server 2014 Enterprise Optimized for Transactional Workloads on Windows Server 2012 R2
- SQL Server 2014 Enterprise Optimized for Data Warehousing on Windows Server 2012 R2
- SQL Server 2012 SP2 Enterprise Optimized for Transactional Workloads on Windows Server 2012
- SQL Server 2012 SP2 Enterprise Optimized for Data Warehousing on Windows Server 2012
Currently we support these images on VM instances that allow up to 16 data disks attached to provide the highest throughput (or aggregate bandwidth). Specifically, these instances are Standard Tier A4, A7, A8 and A9 and Basic tier A4. Please refer to Virtual Machine and Cloud Service Sizes for Azure for further details on the sizes and options.
How to provision a VM from the gallery using the new transactional/DW images?
To provision an optimized transactional or DW VM image by using the Azure Management Portal,
- Sign in to the Azure Management Portal.
- Click VIRTUAL MACHINE in the Azure menu items in the left pane.
- Click NEW in the bottom left corner, and then choose COMPUTE, VIRTUAL MACHINE, and FROM GALLERY.
- On the Virtual machine image selection page, select one of the SQL Server for transactional or Data Warehousing images.
- On the Virtual machine configuration page, in the SIZE option, choose from the supported sizes.
Please note that only Standard tier A4, A7, A8 and A9 and Basic Tier A4 are supported at this point and attempts to provision unsupported VM sizes will fail.
- Wait for the provisioning to finish. While waiting, you can see the provisioning status on the virtual machines page (as in the picture below). When the provisioning is finished, the status will be Running with a checkmark.
Alternatively, you can use PowerShell Commandlet New-AzureQuickVM to create the VM. You will need to pass your cloud service name, VM name, image name, Admin user name and password and so on as parameters. A simple way is to obtain the image name is to use Get-AzureVMImage to list out all the available VM images.
What are the specific configurations included in the transactional/DW images?
The optimization we include in the optimized images are based on the Performance Best Practices for SQL Server in Azure Virtual Machines. Specifically, it includes:
|Number of data disks attached||15||15|
Two storage pools:
– 1 data pool with 12 data disks; fixed size 12 TB; Column = 12
– 1 log pool with 3 data disks; fixed size 3 TB; Column = 3
One data disk remaining for the user to attach and determine the usage.
|Stripe size = 64 KB||Stripe size = 256 KB|
|Disk sizes, caching, allocation size||1 TB each, HostCache=None, NTFS Allocation Unit Size = 64KB|
-T1117 to help keep data files the same size in case DB needs to autogrow
-T1118 to assist in TEMPDB scalability (See here for more details)
|Recovery Model||No change||Set to “SIMPLE” for MODEL database using ALTER DATABASE|
|Setup default locations||Move SQL Server error log and trace file directories to data disks|
|Default locations for databases||
System databases moved to data disks.
The location for creating user databases changed to data disks.
|Instant File Initialization||Enabled|
|Locked pages||Enabled (See here for more details)|
- Any pricing difference between the optimized images and the non-optimized ones?
No. The new optimized images follow exactly the same pricing model (details here) with no additional cost. Note that with larger VM instance sizes, higher cost is associated.
- Any other performance fixes I should consider:
Yes, consider applying relevant performance fixes for SQL Server
- How can I find more information on Storage Spaces?
For further details on Storage Spaces, please refer to Storage Spaces Frequently Asked Questions (FAQ).
- What is the difference between the new DW image and the previous one?
The previous DW image requires customers to perform additional steps such as attaching the data disks post VM creation while the new DW image is ready for use upon creation so it is more streamlined and less error prone.
- What if I need to use the previous DW image? Is there any way I can access it?
The previous VM images are still available, just not directly accessible from the gallery. Instead, you can continue using Powershell commandlets. For instance, you can use Get-AzureVMImage to list out all images and once you locate the previous DW image based on the description and publish date, you can use New-AzureVM to provision it accordingly.