Skip to content

Commit 93388a8

Browse files
committed
Staging tempdb article
1 parent 2f66529 commit 93388a8

File tree

9 files changed

+244
-43
lines changed

9 files changed

+244
-43
lines changed

azure-sql/includes/virtual-machines-best-practices-storage.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.service: virtual-machines
66
ms.topic: include
77
---
88
- Monitor the application and [determine storage bandwidth and latency requirements](/azure/virtual-machines/premium-storage-performance#counters-to-measure-application-performance-requirements) for SQL Server data, log, and `tempdb` files before choosing the disk type.
9-
- If available, configure the `tempdb` [data and log files on the D: local SSD volume](../virtual-machines/windows/storage-configuration.md#new-vms). The SQL IaaS Agent extension handles the folder and permissions needed upon re-provisioning.
9+
- If available, configure the `tempdb` data and log files on the D: local SSD volume when you deploy a [new virtual machine](../virtual-machines/windows/storage-configuration.md#new-vms), or after you've [installed SQL Server manually](../virtual-machines/windows/tempdb-ephemeral-storage.md). The SQL IaaS Agent extension handles the folder and permissions needed upon re-provisioning.
1010
- To optimize storage performance, plan for highest uncached IOPS available and use data caching as a performance feature for data reads while avoiding [virtual machine and disks capping](/azure/virtual-machines/premium-storage-performance#throttling).
1111
- When using the [Ebdsv5 or Ebsv5](/azure/virtual-machines/ebdsv5-ebsv5-series) series SQL Server VMs, use [Premium SSD v2](../virtual-machines/windows/storage-configuration-premium-ssd-v2.md) for the best price performance. You can deploy your SQL Server VM with Premium SSD v2 by using the Azure portal (currently in preview).
1212
- If your workload requires more than 160,000 IOPS, use [Premium SSD v2](../virtual-machines/windows/performance-guidelines-best-practices-storage.md#premium-ssd-v2) or [Azure Ultra Disks](../virtual-machines/windows/performance-guidelines-best-practices-storage.md#azure-ultra-disk).
@@ -15,7 +15,7 @@ ms.topic: include
1515
- For the log drive plan for capacity and test performance versus cost while evaluating either [Premium SSD v2](/azure/virtual-machines/disks-types#premium-ssd-v2) or Premium SSD [P30 - P80 disks](/azure/virtual-machines/disks-types#premium-ssds)
1616
- If submillisecond storage latency is required, use either [Premium SSD v2](../virtual-machines/windows/storage-configuration-premium-ssd-v2.md) or [Azure ultra disks](/azure/virtual-machines/disks-types#ultra-disks) for the transaction log.
1717
- For M-series virtual machine deployments, consider [write accelerator](/azure/virtual-machines/how-to-enable-write-accelerator) over using Azure ultra disks.
18-
- Place [tempdb](/sql/relational-databases/databases/tempdb-database) on the temporary disk (the temporary disk is ephemeral, and defaults to `D:\`) for most SQL Server workloads that aren't part of a failover cluster instance (FCI) after choosing the optimal VM size.
18+
- Place [tempdb](/sql/relational-databases/databases/tempdb-database) on the [temporary disk](../virtual-machines/windows/tempdb-ephemeral-storage.md) (the temporary disk is ephemeral, and defaults to `D:\`) for most SQL Server workloads that aren't part of a failover cluster instance (FCI) after choosing the optimal VM size.
1919
- If the capacity of the local drive isn't enough for `tempdb`, consider sizing up the VM. For more information, see [Data file caching policies](../virtual-machines/windows/performance-guidelines-best-practices-storage.md#data-file-caching-policies).
2020
- For failover cluster instances (FCI) place `tempdb` on the shared storage.
2121
- If the FCI workload is heavily dependent on `tempdb` disk performance, then as an advanced configuration place `tempdb` on the local ephemeral SSD (default `D:\`) drive, which isn't part of FCI storage. This configuration needs custom monitoring and action to ensure the local ephemeral SSD (default `D:\`) drive is available all the time as any failures of this drive won't trigger action from FCI.

azure-sql/toc.yml

Lines changed: 37 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1673,7 +1673,6 @@
16731673
href: virtual-machines/windows/create-sql-vm-powershell.md
16741674
- name: on Azure confidential VMs
16751675
href: virtual-machines/windows/sql-vm-create-confidential-vm-how-to.md
1676-
16771676
- name: Manage
16781677
items:
16791678
- name: With the Azure portal
@@ -1686,49 +1685,56 @@
16861685
href: virtual-machines/windows/change-sql-server-edition.md
16871686
- name: Change version
16881687
href: virtual-machines/windows/change-sql-server-version.md
1688+
- name: SQL IaaS Agent extension
1689+
displayName: resource provider, registration, sql vm rp
1690+
items:
1691+
- name: Automatic registration
1692+
href: virtual-machines/windows/sql-agent-extension-automatic-registration-all-vms.md
1693+
- name: Register single VM
1694+
href: virtual-machines/windows/sql-agent-extension-manually-register-single-vm.md
1695+
- name: Bulk register multiple VMs
1696+
href: virtual-machines/windows/sql-agent-extension-manually-register-vms-bulk.md
1697+
- name: Known issues and troubleshooting
1698+
href: virtual-machines/windows/sql-agent-extension-troubleshoot-known-issues.md
1699+
- name: Patching
1700+
items:
1701+
- name: Azure Update Manager
1702+
href: virtual-machines/azure-update-manager-sql-vm.md
1703+
- name: Automated patching
1704+
href: virtual-machines/windows/automated-patching.md
1705+
- name: Storage
1706+
items:
16891707
- name: Premium SSD storage
16901708
href: virtual-machines/windows/storage-configuration.md
1709+
- name: Premium SSD v2 (preview)
1710+
href: virtual-machines/windows/storage-configuration-premium-ssd-v2.md
16911711
- name: Azure Elastic SAN Storage
16921712
href: virtual-machines/windows/storage-configuration-azure-elastic-san.md
1713+
- name: Place tempdb to ephemeral disk
1714+
href: virtual-machines/windows/tempdb-ephemeral-storage.md
16931715

1694-
- name: Microsoft Entra authentication
1695-
href: virtual-machines/windows/configure-azure-ad-authentication-for-sql-vm.md
1696-
- name: Azure Update Manager
1697-
href: virtual-machines/azure-update-manager-sql-vm.md
1698-
- name: Automated Patching
1699-
href: virtual-machines/windows/automated-patching.md
1700-
1701-
- name: Azure Key Vault Integration
1702-
href: virtual-machines/windows/azure-key-vault-integration-configure.md
1703-
- name: Migrate storage to Ultradisk
1704-
href: virtual-machines/windows/storage-migrate-to-ultradisk.md
1705-
- name: Backup and restore using managed identities
1706-
href: virtual-machines/windows/backup-restore-to-url-using-managed-identities.md
1707-
- name: EKM with AKV using managed identities
1708-
href: virtual-machines/windows/managed-identity-extensible-key-management.md
1709-
- name: SQL IaaS Agent extension
1710-
displayName: resource provider, registration, sql vm rp
1711-
items:
1712-
- name: Automatic registration
1713-
href: virtual-machines/windows/sql-agent-extension-automatic-registration-all-vms.md
1714-
- name: Register single VM
1715-
href: virtual-machines/windows/sql-agent-extension-manually-register-single-vm.md
1716-
- name: Bulk register multiple VMs
1717-
href: virtual-machines/windows/sql-agent-extension-manually-register-vms-bulk.md
1718-
- name: Known issues and troubleshooting
1719-
href: virtual-machines/windows/sql-agent-extension-troubleshoot-known-issues.md
17201716
- name: Optimize performance
17211717
items:
17221718
- name: SQL best practices assessment
17231719
href: virtual-machines/windows/sql-assessment-for-sql-vm.md
17241720
- name: Analyze I/O performance
17251721
href: virtual-machines/windows/storage-performance-analysis.md
1726-
- name: Premium SSD v2 (preview)
1727-
href: virtual-machines/windows/storage-configuration-premium-ssd-v2.md
1722+
1723+
- name: Security
1724+
items:
1725+
- name: Microsoft Entra authentication
1726+
href: virtual-machines/windows/configure-azure-ad-authentication-for-sql-vm.md
1727+
- name: EKM with AKV using managed identities
1728+
href: virtual-machines/windows/managed-identity-extensible-key-management.md
1729+
- name: Azure Key Vault Integration
1730+
href: virtual-machines/windows/azure-key-vault-integration-configure.md
17281731
- name: Migrate
17291732
items:
17301733
- name: VM to a new region
17311734
href: virtual-machines/windows/move-sql-vm-different-region.md
1735+
- name: Migrate storage to Ultradisk
1736+
href: virtual-machines/windows/storage-migrate-to-ultradisk.md
1737+
17321738
- name: Business continuity
17331739
items:
17341740
- name: Configure cluster quorum
@@ -1741,6 +1747,8 @@
17411747
href: virtual-machines/windows/automated-backup.md
17421748
- name: Automated backup (SQL 2014)
17431749
href: virtual-machines/windows/automated-backup-sql-2014.md
1750+
- name: Backup and restore using managed identities
1751+
href: virtual-machines/windows/backup-restore-to-url-using-managed-identities.md
17441752
- name: Availability group (AG)
17451753
displayName: Always On, alwayson, availability group
17461754
items:

azure-sql/virtual-machines/windows/doc-changes-updates-release-notes-whats-new.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn about the new features for and improvements to SQL Server on
44
author: MashaMSFT
55
ms.author: mathoma
66
ms.reviewer: randolphwest, mathoma, dpless
7-
ms.date: 03/24/2024
7+
ms.date: 04/02/2025
88
ms.service: azure-vm-sql-server
99
ms.topic: whats-new
1010
ms.custom:
@@ -56,6 +56,15 @@ The following table lists features of SQL Server on Azure VMs that have been mad
5656

5757
Learn about significant changes to the SQL Server on Azure VMs documentation. For previous years, see the [What's new archive](doc-changes-updates-release-notes-whats-new-archive.md).
5858

59+
> [!CAUTION]
60+
> SQL Server isn't supported on VM sizes that deploy with an uninitialized ephemeral disk. To learn more, review [VM deployment and SQL Server failures](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
61+
62+
### April 2025
63+
64+
| Changes | Details |
65+
| --- | --- |
66+
|**Place `tempdb` to ephemeral storage** | If you're manually installing SQL Server to an Azure VM, be sure to [place `tempdb` on ephemeral storage](../windows/tempdb-ephemeral-storage.md) to improve performance. This is a best practice for SQL Server on Azure VMs. |
67+
5968
### March 2025
6069

6170
| Changes | Details |
41.3 KB
Loading
10.3 KB
Loading
19.6 KB
Loading

azure-sql/virtual-machines/windows/performance-guidelines-best-practices-checklist.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,17 @@ If you plan to manually install SQL Server on an Azure VM, consider the followin
4949
- If they don't already exist, create the folders for your SQL Server installation and data files prior to launching the installation media.
5050
- Copy the installation media to a local drive instead of installing directly from the mounted ISO.
5151
- After installation, register your SQL Server VM with the [SQL Server IaaS Agent Extension](sql-server-iaas-agent-extension-automate-management.md) to automate management tasks.
52+
- Place the `tempdb` database on the [local SSD ephemeral storage](tempdb-ephemeral-storage.md) when possible.
5253

5354
## VM size
5455

5556
The checklist in this section covers the [VM size best practices](performance-guidelines-best-practices-vm-size.md) for SQL Server on Azure VMs.
5657

5758
[!INCLUDE [vm size best practices](../../includes/virtual-machines-best-practices-vm-size.md)]
5859

60+
> [!CAUTION]
61+
> SQL Server isn't supported on VM sizes that deploy with an uninitialized ephemeral disk. To learn more, review [VM deployment and SQL Server failures](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
62+
5963
## Storage
6064

6165
The checklist in this section covers the [storage best practices](performance-guidelines-best-practices-storage.md) for SQL Server on Azure VMs.

azure-sql/virtual-machines/windows/performance-guidelines-best-practices-vm-size.md

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Provides VM size guidelines and best practices to optimize the perf
44
author: dplessMSFT
55
ms.author: dpless
66
ms.reviewer: dpless, randolphwest, mathoma
7-
ms.date: 03/24/2024
7+
ms.date: 04/02/2025
88
ms.service: azure-vm-sql-server
99
ms.subservice: performance
1010
ms.topic: best-practice
@@ -46,7 +46,29 @@ SQL Server data warehouse and mission critical environments will often need to s
4646
Use the SQL Server VM marketplace images with the storage configuration in the portal. This makes it easier to properly create the storage pools necessary to get the size, IOPS, and throughput necessary for your workloads. It's important to choose SQL Server VMs that support premium storage performance. See the [storage](performance-guidelines-best-practices-storage.md) article to learn more.
4747

4848
> [!CAUTION]
49-
> SQL Server on Azure VM images aren't supported by VM sizes that deploy with an uninitialized ephemeral disk. To learn more, review [Some SQL Server on Azure VM images fail to deploy](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
49+
> SQL Server isn't supported on VM sizes that deploy with an uninitialized ephemeral disk. To learn more, review [VM deployment and SQL Server failures](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
50+
51+
## Supportability
52+
53+
Consider the following limitations when installing SQL Server to Azure VMs:
54+
55+
- [Azure Virtual Machine Scale Sets (VMSS)](/azure/virtual-machine-scale-sets/overview) are not supported with SQL Server on Azure VMs. If you decide to use VMSS with your SQL Server on Azure VM against this recommendation, and enable the [Automatic guest patching feature](/azure/virtual-machines/automatic-vm-guest-patching), which replaces the OS disk when a new image version is released, you will likely disrupt SQL Server, leading to potential corruption, data loss, and availability issues.
56+
- SQL Server isn't supported on systems with more than 64 vCores per NUMA node. [Disable SMT](/sql/sql-server/compute-capacity-limits-by-edition-of-sql-server#disable-smt-in-an-azure-virtual-machine) to use SQL Server on Azure VMs that exceed 64 vCores per NUMA node.
57+
- SQL Server currently supports disks with a standard native [sector sizes of 512 bytes and 4 KB](/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022#StorageTypes). Installing SQL Server to disks with 8-KB sector sizes isn't supported and can lead to [installation failures](/troubleshoot/sql/azure-sql/sql-installation-fails-sector-size-error-azure-vm), as well as [performance degradation from misaligned I/O](/troubleshoot/sql/database-engine/performance/performance-degradation-misaligned-io-sector-error).
58+
- SQL Server on Azure VM images fail to deploy with VM sizes that have uninitialized ephemeral disks. To learn more, review [Some SQL Server on Azure VM images fail to deploy](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
59+
60+
## Filtering by VM size
61+
62+
When deploying an Azure VM, use the [naming convention](/azure/virtual-machines/vm-naming-conventions) to determine the VM size name to filter by in the portal. The VM size name is the combination of the family, subfamily, number of CPUs, and any additive features.
63+
64+
For example, when filtering an [Ebdsv5 series](/azure/virtual-machines/ebdsv5-ebsv5-series#ebdsv5-series-nvme) VM, enter the VM size name such as `E64bds` or the version such as `v5`, which is referred to as **Generation** in the portal. The following screenshot demonstrates filtering the VM size list by the `v5` version in the Azure portal:
65+
66+
:::image type="content" source="media/performance-guidelines-best-practices-vm-size/filter-vm-size-list.png" alt-text="Screenshot of the select a VM size page of the Azure portal. ":::
67+
68+
Consider the following:
69+
- Additional filters can be applied by using 'Add filter' to narrow your VM size list based on factors like the size of the machine, type (family) such as memory-optimized or general purpose, and disk controller type.
70+
- If you don't see a result for the VM you're searching for, it's likely due to a filter applied to the VM size list. Clear the filter and try again.
71+
- The disk controller filter helps you identify if the storage is iSCSI or NVMe.
5072

5173
## Memory optimized M-series VMs
5274

@@ -204,15 +226,6 @@ For example, the [M64-32ms](/azure/virtual-machines/constrained-vcpu) requires l
204226
> - Medium to large data warehouse workloads may still benefit from [constrained vCore VMs](/azure/virtual-machines/constrained-vcpu), but data warehouse workloads are commonly characterized by fewer users and processes addressing larger amounts of data through query plans that run in parallel.
205227
> - The compute cost, which includes operating system licensing, will remain the same as the parent virtual machine.
206228
207-
## Supportability
208-
209-
Consider the following limitations when installing SQL Server to Azure VMs:
210-
211-
- [Azure Virtual Machine Scale Sets (VMSS)](/azure/virtual-machine-scale-sets/overview) are not supported with SQL Server on Azure VMs. If you decide to use VMSS with your SQL Server on Azure VM against this recommendation, and enable the [Automatic guest patching feature](/azure/virtual-machines/automatic-vm-guest-patching), which replaces the OS disk when a new image version is released, you will likely disrupt SQL Server, leading to potential corruption, data loss, and availability issues.
212-
- SQL Server isn't supported on systems with more than 64 vCores per NUMA node. [Disable SMT](/sql/sql-server/compute-capacity-limits-by-edition-of-sql-server#disable-smt-in-an-azure-virtual-machine) to use SQL Server on Azure VMs that exceed 64 vCores per NUMA node.
213-
- SQL Server currently supports disks with a standard native [sector sizes of 512 bytes and 4 KB](/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022#StorageTypes). Installing SQL Server to disks with 8-KB sector sizes isn't supported and can lead to [installation failures](/troubleshoot/sql/azure-sql/sql-installation-fails-sector-size-error-azure-vm), as well as [performance degradation from misaligned I/O](/troubleshoot/sql/database-engine/performance/performance-degradation-misaligned-io-sector-error).
214-
- SQL Server on Azure VM images fail to deploy with VM sizes that have uninitialized ephemeral disks. To learn more, review [Some SQL Server on Azure VM images fail to deploy](/troubleshoot/sql/azure-sql/sql-deployment-fails-drive-not-ready).
215-
216229
## Related content
217230

218231
To learn more, see the other articles in this best practices series:

0 commit comments

Comments
 (0)