You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure VM SKU判断是否附带临时磁盘?

判断Azure VM SKU是否包含临时磁盘的解决方案

你可以通过以下几种方式获取VM SKU的临时磁盘信息,用于Bicep部署中的tempdb布局决策:

1. 解析PowerShell返回的Capabilities属性

Get-AzComputeResourceSku返回的结果里,其实包含临时磁盘相关的隐藏信息,需要从Capabilities集合中提取:

$sku = Get-AzComputeResourceSku -Location "eastus" | Where-Object { $_.ResourceType -eq "virtualMachines" -and $_.Name -eq "Standard_D2s_v3" }
$tempDiskCap = $sku.Capabilities | Where-Object { $_.Name -eq "EphemeralOSDiskSupported" -or $_.Name -eq "TempDiskSizeGB" }
$tempDiskCap
  • EphemeralOSDiskSupported:值为True表示该SKU支持临时OS磁盘
  • TempDiskSizeGB:直接给出临时磁盘的容量,存在该属性即说明SKU附带临时磁盘

2. 在Bicep中直接引用SKU能力

在Bicep里可以通过内置方式查询SKU属性,示例:

param location string = resourceGroup().location
param vmSku string = 'Standard_D2s_v3'

var skuDetails = (az resource list-skus --location ${location} --resource-type Microsoft.Compute/virtualMachines --query "[?name=='${vmSku}']" | convertFromJson)[0]

var hasTempDisk = skuDetails.capabilities.any(cap => cap.name == 'TempDiskSizeGB')
var tempDiskSize = skuDetails.capabilities.find(cap => cap.name == 'TempDiskSizeGB').value

output hasTempDisk bool = hasTempDisk
output tempDiskSizeGB int = int(tempDiskSize)

你可以基于hasTempDisk的值来决定SQL Server tempdb的布局,比如是否使用临时磁盘存储tempdb文件。

3. 利用SKU命名规律辅助判断

大部分Azure VM SKU的命名里,带s后缀的(比如D2s_v3、E4s_v5)通常附带临时SSD磁盘,不带s的(比如D2_v3)则没有。不过这只是经验规律,建议还是以API返回的属性为准,避免因SKU更新导致判断错误。

内容的提问来源于stack exchange,提问作者MrT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 20:12:33