共用方式為


Microsoft.SqlVirtualMachine sqlVirtualMachines

Bicep 資源定義

sqlVirtualMachines 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SqlVirtualMachine/sqlVirtualMachines 資源,請將下列 Bicep 新增至範本。

resource symbolicname 'Microsoft.SqlVirtualMachine/sqlVirtualMachines@2023-10-01' = {
  identity: {
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    assessmentSettings: {
      enable: bool
      runImmediately: bool
      schedule: {
        dayOfWeek: 'string'
        enable: bool
        monthlyOccurrence: int
        startTime: 'string'
        weeklyInterval: int
      }
    }
    autoBackupSettings: {
      backupScheduleType: 'string'
      backupSystemDbs: bool
      daysOfWeek: [
        'string'
      ]
      enable: bool
      enableEncryption: bool
      fullBackupFrequency: 'string'
      fullBackupStartTime: int
      fullBackupWindowHours: int
      logBackupFrequency: int
      password: 'string'
      retentionPeriod: int
      storageAccessKey: 'string'
      storageAccountUrl: 'string'
      storageContainerName: 'string'
    }
    autoPatchingSettings: {
      additionalVmPatch: 'string'
      dayOfWeek: 'string'
      enable: bool
      maintenanceWindowDuration: int
      maintenanceWindowStartingHour: int
    }
    enableAutomaticUpgrade: bool
    keyVaultCredentialSettings: {
      azureKeyVaultUrl: 'string'
      credentialName: 'string'
      enable: bool
      servicePrincipalName: 'string'
      servicePrincipalSecret: 'string'
    }
    leastPrivilegeMode: 'string'
    serverConfigurationsManagementSettings: {
      additionalFeaturesServerConfigurations: {
        isRServicesEnabled: bool
      }
      azureAdAuthenticationSettings: {
        clientId: 'string'
      }
      sqlConnectivityUpdateSettings: {
        connectivityType: 'string'
        port: int
        sqlAuthUpdatePassword: 'string'
        sqlAuthUpdateUserName: 'string'
      }
      sqlInstanceSettings: {
        collation: 'string'
        isIfiEnabled: bool
        isLpimEnabled: bool
        isOptimizeForAdHocWorkloadsEnabled: bool
        maxDop: int
        maxServerMemoryMB: int
        minServerMemoryMB: int
      }
      sqlStorageUpdateSettings: {
        diskConfigurationType: 'string'
        diskCount: int
        startingDeviceId: int
      }
      sqlWorkloadTypeUpdateSettings: {
        sqlWorkloadType: 'string'
      }
    }
    sqlImageOffer: 'string'
    sqlImageSku: 'string'
    sqlManagement: 'string'
    sqlServerLicenseType: 'string'
    sqlVirtualMachineGroupResourceId: 'string'
    storageConfigurationSettings: {
      diskConfigurationType: 'string'
      enableStorageConfigBlade: bool
      sqlDataSettings: {
        defaultFilePath: 'string'
        luns: [
          int
        ]
        useStoragePool: bool
      }
      sqlLogSettings: {
        defaultFilePath: 'string'
        luns: [
          int
        ]
        useStoragePool: bool
      }
      sqlSystemDbOnDataDisk: bool
      sqlTempDbSettings: {
        dataFileCount: int
        dataFileSize: int
        dataGrowth: int
        defaultFilePath: 'string'
        logFileSize: int
        logGrowth: int
        luns: [
          int
        ]
        persistFolder: bool
        persistFolderPath: 'string'
        useStoragePool: bool
      }
      storageWorkloadType: 'string'
    }
    virtualMachineIdentitySettings: {
      resourceId: 'string'
      type: 'string'
    }
    virtualMachineResourceId: 'string'
    wsfcDomainCredentials: {
      clusterBootstrapAccountPassword: 'string'
      clusterOperatorAccountPassword: 'string'
      sqlServiceAccountPassword: 'string'
    }
    wsfcStaticIp: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

屬性值

AADAuthenticationSettings

名字 描述 價值
clientId 要查詢 Microsoft Graph API 之受控識別的用戶端標識碼。 空字串必須用於系統指派的受控識別 字串

AdditionalFeaturesServerConfigurations

名字 描述 價值
isRServicesEnabled 啟用或停用 R 服務(SQL 2016 及更新版本)。 bool

AssessmentSettings

名字 描述 價值
使 在 SQL 虛擬機上啟用或停用 SQL 最佳做法評定功能。 bool
runImmediately 立即在 SQL 虛擬機上執行 SQL 最佳做法評定。 bool
附表 排程 SQL 最佳做法評定。 排程

AutoBackupSettings

名字 描述 價值
backupScheduleType 備份排程類型。 'Automated'
'Manual'
backupSystemDbs 包含或排除自動備份的系統資料庫。 bool
daysOfWeek 當 FullBackupFrequency 設定為 [每周] 時,備份的星期幾。 包含任何的字串數組:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動備份。 bool
enableEncryption 在 SQL 虛擬機上啟用或停用備份的加密。 bool
fullBackupFrequency 完整備份的頻率。 在這兩種情況下,完整備份都會在下一個排程的時間範圍期間開始。 'Daily'
'Weekly'
fullBackupStartTime 指定日期的開始時間,可在其中進行完整備份。 0-23 小時。 int
fullBackupWindowHours 指定時間範圍期間,可在期間進行完整備份。 1-23 小時。 int
logBackupFrequency 記錄備份的頻率。 5-60 分鐘。 int
密碼 備份時加密的密碼。 字串
retentionPeriod 備份的保留期間:1-90 天。 int
storageAccessKey 將進行備份的記憶體帳戶金鑰。 字串
storageAccountUrl 將進行備份的記憶體帳戶 URL。 字串
storageContainerName 將進行備份的記憶體容器名稱。 字串

AutoPatchingSettings

名字 描述 價值
additionalVmPatch 在 SQL 虛擬機上啟用或啟用的其他修補程式。 'MicrosoftUpdate'
'NotSet'
dayOfWeek 要套用修補程式的一周中的一天。 '每天'
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的一天中的小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

名字 描述 價值
azureKeyVaultUrl Azure Key Vault URL。 字串
credentialName 認證名稱。 字串
使 啟用或停用金鑰保存庫認證設定。 bool
servicePrincipalName 用來存取金鑰保存庫的服務主體名稱。 字串
servicePrincipalSecret 用來存取金鑰保存庫的服務主體名稱秘密。 字串

Microsoft.SqlVirtualMachine/sqlVirtualMachines

名字 描述 價值
身份 請勿使用。 此值將會被取代。 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
位置 資源位置。 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 1
最大長度 = 1
模式 = ^((?!_)[^\\/"'\[\]:|<>+=;,?*@&]{1,64}(?<![.-]))$ (必要)
性能 資源屬性。 SqlVirtualMachineProperties
標籤 資源標籤。 TrackedResourceTags

ResourceIdentity

名字 描述 價值
類型 識別類型。 將此設定為 『SystemAssigned』,以自動建立和指派資源的 Azure Active Directory 主體。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'

附表

名字 描述 價值
dayOfWeek 執行評定的一周中的一天。 'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用評量排程。 bool
monthlyOccurrence 在一個月內發生 DayOfWeek 天以排程評量。 接受值:1,2,3,4 和 -1。 針對當月的最後一天使用 -1 OfWeek 日 int
startTime 以 HH:mm 格式的一天時間。例如17:30 字串
weeklyInterval 排程在 2 個評量執行之間的周數。 接受 1-6 的值 int

ServerConfigurationsManagementSettings

名字 描述 價值
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
azureAdAuthenticationSettings Azure AD 驗證設定。 AADAuthenticationSettings
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 記憶體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

SqlConnectivityUpdateSettings

名字 描述 價值
connectivityType SQL Server 連線選項。 'LOCAL'
'PRIVATE'
'PUBLIC'
港口 SQL Server 連接埠。 int
sqlAuthUpdatePassword SQL Server 系統管理員登入密碼。 字串
sqlAuthUpdateUserName 要建立的 SQL Server 系統管理員登入。 字串

SQLInstanceSettings

名字 描述 價值
整理 SQL Server 定序。 字串
isIfiEnabled SQL Server IFI。 bool
isLpimEnabled SQL Server LPIM。 bool
isOptimizeForAdHocWorkloadsEnabled SQL Server 優化 Adhoc 工作負載。 bool
maxDop SQL Server MAXDOP。 int
maxServerMemoryMB SQL Server 記憶體上限。 int
minServerMemoryMB SQL Server 最小記憶體。 int

SQLStorageSettings

名字 描述 價值
defaultFilePath SQL Server 預設檔案路徑 字串
luns 磁碟的邏輯單元編號。 int[]
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlStorageUpdateSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
diskCount 虛擬機磁碟計數。 int
startingDeviceId 要更新之第一個磁碟的裝置標識碼。 int

SQLTempDbSettings

名字 描述 價值
dataFileCount SQL Server tempdb 資料檔計數 int
dataFileSize SQL Server tempdb 資料檔大小 int
dataGrowth SQL Server tempdb 資料文件自動成長大小 int
defaultFilePath SQL Server 預設檔案路徑 字串
logFileSize SQL Server tempdb 記錄檔大小 int
logGrowth SQL Server tempdb 記錄檔自動成長大小 int
luns 磁碟的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 儲存資料夾選擇 bool
persistFolderPath SQL Server tempdb 儲存資料夾位置 字串
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlVirtualMachineProperties

名字 描述 價值
assessmentSettings SQL 最佳做法評定設定。 AssessmentSettings
autoBackupSettings SQL Server 的自動備份設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 擴充代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 'Enabled'
'NotSet'
serverConfigurationsManagementSettings SQL Server 組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映像供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server 版本類型。 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server 管理類型。 注意:不再使用此參數。 API 會自動偵測 Sql 管理,避免使用它。 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server 授權類型。 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId SQL 虛擬機器群組的 ARM 資源識別碼,此 SQL 虛擬機是或將會是其中的一部分。 字串
storageConfigurationSettings 記憶體組態設定。 StorageConfigurationSettings
virtualMachineIdentitySettings 用於 Sql IaaS 擴充功能組態的虛擬機身分識別詳細數據。 VirtualMachineIdentity
virtualMachineResourceId 從 SQL Marketplace 映像建立之基礎虛擬機的 ARM 資源識別碼。 字串
wsfcDomainCredentials 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 字串

SqlWorkloadTypeUpdateSettings

名字 描述 價值
sqlWorkloadType SQL Server 工作負載類型。 'DW'
'GENERAL'
'OLTP'

StorageConfigurationSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
enableStorageConfigBlade 在 Azure 入口網站中啟用 SQL IaaS 代理程式記憶體設定刀鋒視窗。 bool
sqlDataSettings SQL Server 資料記憶體設定。 SQLStorageSettings
sqlLogSettings SQL Server 記錄記憶體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,則為 DataPool 上的 SQL Server SystemDb 記憶體。 bool
sqlTempDbSettings SQL Server TempDb 記憶體設定。 SQLTempDbSettings
storageWorkloadType 記憶體工作負載類型。 'DW'
'GENERAL'
'OLTP'

TrackedResourceTags

名字 描述 價值

VirtualMachineIdentity

名字 描述 價值
resourceId 身分識別的 ARM 資源識別碼。 只有在選取 UserAssigned 身分識別時才需要。 字串
類型 虛擬機的識別類型。 指定 [無] 以退出受控識別。 'None'
'SystemAssigned'
'UserAssigned'

WsfcDomainCredentials

名字 描述 價值
clusterBootstrapAccountPassword 叢集啟動程式帳戶密碼。 字串
clusterOperatorAccountPassword 叢集操作員帳戶密碼。 字串
sqlServiceAccountPassword SQL 服務帳戶密碼。 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用現有的 SQL 虛擬機部署 SQL Always ON 設定

部署至 Azure
使用現有的 SQL 虛擬機器部署 SQL Always ON 安裝程式。 虛擬機應該已經加入現有的網域,而且必須執行 SQL Server 的企業版本。
使用效能優化的記憶體設定 SQL Server VM

部署至 Azure
在 PremiumSSD 上建立具有效能優化記憶體設定的 SQL Server 虛擬機
UltraSSD 上的 SQL VM 效能優化記憶體設定

部署至 Azure
使用 UltraSSD 建立具有效能優化記憶體設定的 SQL Server 虛擬機,並針對 SQL 記錄檔使用 UltraSSD

ARM 樣本資源定義

sqlVirtualMachines 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SqlVirtualMachine/sqlVirtualMachines 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines",
  "apiVersion": "2023-10-01",
  "name": "string",
  "identity": {
    "type": "string"
  },
  "location": "string",
  "properties": {
    "assessmentSettings": {
      "enable": "bool",
      "runImmediately": "bool",
      "schedule": {
        "dayOfWeek": "string",
        "enable": "bool",
        "monthlyOccurrence": "int",
        "startTime": "string",
        "weeklyInterval": "int"
      }
    },
    "autoBackupSettings": {
      "backupScheduleType": "string",
      "backupSystemDbs": "bool",
      "daysOfWeek": [ "string" ],
      "enable": "bool",
      "enableEncryption": "bool",
      "fullBackupFrequency": "string",
      "fullBackupStartTime": "int",
      "fullBackupWindowHours": "int",
      "logBackupFrequency": "int",
      "password": "string",
      "retentionPeriod": "int",
      "storageAccessKey": "string",
      "storageAccountUrl": "string",
      "storageContainerName": "string"
    },
    "autoPatchingSettings": {
      "additionalVmPatch": "string",
      "dayOfWeek": "string",
      "enable": "bool",
      "maintenanceWindowDuration": "int",
      "maintenanceWindowStartingHour": "int"
    },
    "enableAutomaticUpgrade": "bool",
    "keyVaultCredentialSettings": {
      "azureKeyVaultUrl": "string",
      "credentialName": "string",
      "enable": "bool",
      "servicePrincipalName": "string",
      "servicePrincipalSecret": "string"
    },
    "leastPrivilegeMode": "string",
    "serverConfigurationsManagementSettings": {
      "additionalFeaturesServerConfigurations": {
        "isRServicesEnabled": "bool"
      },
      "azureAdAuthenticationSettings": {
        "clientId": "string"
      },
      "sqlConnectivityUpdateSettings": {
        "connectivityType": "string",
        "port": "int",
        "sqlAuthUpdatePassword": "string",
        "sqlAuthUpdateUserName": "string"
      },
      "sqlInstanceSettings": {
        "collation": "string",
        "isIfiEnabled": "bool",
        "isLpimEnabled": "bool",
        "isOptimizeForAdHocWorkloadsEnabled": "bool",
        "maxDop": "int",
        "maxServerMemoryMB": "int",
        "minServerMemoryMB": "int"
      },
      "sqlStorageUpdateSettings": {
        "diskConfigurationType": "string",
        "diskCount": "int",
        "startingDeviceId": "int"
      },
      "sqlWorkloadTypeUpdateSettings": {
        "sqlWorkloadType": "string"
      }
    },
    "sqlImageOffer": "string",
    "sqlImageSku": "string",
    "sqlManagement": "string",
    "sqlServerLicenseType": "string",
    "sqlVirtualMachineGroupResourceId": "string",
    "storageConfigurationSettings": {
      "diskConfigurationType": "string",
      "enableStorageConfigBlade": "bool",
      "sqlDataSettings": {
        "defaultFilePath": "string",
        "luns": [ "int" ],
        "useStoragePool": "bool"
      },
      "sqlLogSettings": {
        "defaultFilePath": "string",
        "luns": [ "int" ],
        "useStoragePool": "bool"
      },
      "sqlSystemDbOnDataDisk": "bool",
      "sqlTempDbSettings": {
        "dataFileCount": "int",
        "dataFileSize": "int",
        "dataGrowth": "int",
        "defaultFilePath": "string",
        "logFileSize": "int",
        "logGrowth": "int",
        "luns": [ "int" ],
        "persistFolder": "bool",
        "persistFolderPath": "string",
        "useStoragePool": "bool"
      },
      "storageWorkloadType": "string"
    },
    "virtualMachineIdentitySettings": {
      "resourceId": "string",
      "type": "string"
    },
    "virtualMachineResourceId": "string",
    "wsfcDomainCredentials": {
      "clusterBootstrapAccountPassword": "string",
      "clusterOperatorAccountPassword": "string",
      "sqlServiceAccountPassword": "string"
    },
    "wsfcStaticIp": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

屬性值

AADAuthenticationSettings

名字 描述 價值
clientId 要查詢 Microsoft Graph API 之受控識別的用戶端標識碼。 空字串必須用於系統指派的受控識別 字串

AdditionalFeaturesServerConfigurations

名字 描述 價值
isRServicesEnabled 啟用或停用 R 服務(SQL 2016 及更新版本)。 bool

AssessmentSettings

名字 描述 價值
使 在 SQL 虛擬機上啟用或停用 SQL 最佳做法評定功能。 bool
runImmediately 立即在 SQL 虛擬機上執行 SQL 最佳做法評定。 bool
附表 排程 SQL 最佳做法評定。 排程

AutoBackupSettings

名字 描述 價值
backupScheduleType 備份排程類型。 'Automated'
'Manual'
backupSystemDbs 包含或排除自動備份的系統資料庫。 bool
daysOfWeek 當 FullBackupFrequency 設定為 [每周] 時,備份的星期幾。 包含任何的字串數組:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動備份。 bool
enableEncryption 在 SQL 虛擬機上啟用或停用備份的加密。 bool
fullBackupFrequency 完整備份的頻率。 在這兩種情況下,完整備份都會在下一個排程的時間範圍期間開始。 'Daily'
'Weekly'
fullBackupStartTime 指定日期的開始時間,可在其中進行完整備份。 0-23 小時。 int
fullBackupWindowHours 指定時間範圍期間,可在期間進行完整備份。 1-23 小時。 int
logBackupFrequency 記錄備份的頻率。 5-60 分鐘。 int
密碼 備份時加密的密碼。 字串
retentionPeriod 備份的保留期間:1-90 天。 int
storageAccessKey 將進行備份的記憶體帳戶金鑰。 字串
storageAccountUrl 將進行備份的記憶體帳戶 URL。 字串
storageContainerName 將進行備份的記憶體容器名稱。 字串

AutoPatchingSettings

名字 描述 價值
additionalVmPatch 在 SQL 虛擬機上啟用或啟用的其他修補程式。 'MicrosoftUpdate'
'NotSet'
dayOfWeek 要套用修補程式的一周中的一天。 '每天'
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的一天中的小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

名字 描述 價值
azureKeyVaultUrl Azure Key Vault URL。 字串
credentialName 認證名稱。 字串
使 啟用或停用金鑰保存庫認證設定。 bool
servicePrincipalName 用來存取金鑰保存庫的服務主體名稱。 字串
servicePrincipalSecret 用來存取金鑰保存庫的服務主體名稱秘密。 字串

Microsoft.SqlVirtualMachine/sqlVirtualMachines

名字 描述 價值
身份 請勿使用。 此值將會被取代。 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
位置 資源位置。 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 1
最大長度 = 1
模式 = ^((?!_)[^\\/"'\[\]:|<>+=;,?*@&]{1,64}(?<![.-]))$ (必要)
性能 資源屬性。 SqlVirtualMachineProperties
標籤 資源標籤。 TrackedResourceTags

ResourceIdentity

名字 描述 價值
類型 識別類型。 將此設定為 『SystemAssigned』,以自動建立和指派資源的 Azure Active Directory 主體。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'

附表

名字 描述 價值
dayOfWeek 執行評定的一周中的一天。 'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用評量排程。 bool
monthlyOccurrence 在一個月內發生 DayOfWeek 天以排程評量。 接受值:1,2,3,4 和 -1。 針對當月的最後一天使用 -1 OfWeek 日 int
startTime 以 HH:mm 格式的一天時間。例如17:30 字串
weeklyInterval 排程在 2 個評量執行之間的周數。 接受 1-6 的值 int

ServerConfigurationsManagementSettings

名字 描述 價值
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
azureAdAuthenticationSettings Azure AD 驗證設定。 AADAuthenticationSettings
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 記憶體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

SqlConnectivityUpdateSettings

名字 描述 價值
connectivityType SQL Server 連線選項。 'LOCAL'
'PRIVATE'
'PUBLIC'
港口 SQL Server 連接埠。 int
sqlAuthUpdatePassword SQL Server 系統管理員登入密碼。 字串
sqlAuthUpdateUserName 要建立的 SQL Server 系統管理員登入。 字串

SQLInstanceSettings

名字 描述 價值
整理 SQL Server 定序。 字串
isIfiEnabled SQL Server IFI。 bool
isLpimEnabled SQL Server LPIM。 bool
isOptimizeForAdHocWorkloadsEnabled SQL Server 優化 Adhoc 工作負載。 bool
maxDop SQL Server MAXDOP。 int
maxServerMemoryMB SQL Server 記憶體上限。 int
minServerMemoryMB SQL Server 最小記憶體。 int

SQLStorageSettings

名字 描述 價值
defaultFilePath SQL Server 預設檔案路徑 字串
luns 磁碟的邏輯單元編號。 int[]
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlStorageUpdateSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
diskCount 虛擬機磁碟計數。 int
startingDeviceId 要更新之第一個磁碟的裝置標識碼。 int

SQLTempDbSettings

名字 描述 價值
dataFileCount SQL Server tempdb 資料檔計數 int
dataFileSize SQL Server tempdb 資料檔大小 int
dataGrowth SQL Server tempdb 資料文件自動成長大小 int
defaultFilePath SQL Server 預設檔案路徑 字串
logFileSize SQL Server tempdb 記錄檔大小 int
logGrowth SQL Server tempdb 記錄檔自動成長大小 int
luns 磁碟的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 儲存資料夾選擇 bool
persistFolderPath SQL Server tempdb 儲存資料夾位置 字串
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlVirtualMachineProperties

名字 描述 價值
assessmentSettings SQL 最佳做法評定設定。 AssessmentSettings
autoBackupSettings SQL Server 的自動備份設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 擴充代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 'Enabled'
'NotSet'
serverConfigurationsManagementSettings SQL Server 組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映像供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server 版本類型。 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server 管理類型。 注意:不再使用此參數。 API 會自動偵測 Sql 管理,避免使用它。 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server 授權類型。 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId SQL 虛擬機器群組的 ARM 資源識別碼,此 SQL 虛擬機是或將會是其中的一部分。 字串
storageConfigurationSettings 記憶體組態設定。 StorageConfigurationSettings
virtualMachineIdentitySettings 用於 Sql IaaS 擴充功能組態的虛擬機身分識別詳細數據。 VirtualMachineIdentity
virtualMachineResourceId 從 SQL Marketplace 映像建立之基礎虛擬機的 ARM 資源識別碼。 字串
wsfcDomainCredentials 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 字串

SqlWorkloadTypeUpdateSettings

名字 描述 價值
sqlWorkloadType SQL Server 工作負載類型。 'DW'
'GENERAL'
'OLTP'

StorageConfigurationSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
enableStorageConfigBlade 在 Azure 入口網站中啟用 SQL IaaS 代理程式記憶體設定刀鋒視窗。 bool
sqlDataSettings SQL Server 資料記憶體設定。 SQLStorageSettings
sqlLogSettings SQL Server 記錄記憶體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,則為 DataPool 上的 SQL Server SystemDb 記憶體。 bool
sqlTempDbSettings SQL Server TempDb 記憶體設定。 SQLTempDbSettings
storageWorkloadType 記憶體工作負載類型。 'DW'
'GENERAL'
'OLTP'

TrackedResourceTags

名字 描述 價值

VirtualMachineIdentity

名字 描述 價值
resourceId 身分識別的 ARM 資源識別碼。 只有在選取 UserAssigned 身分識別時才需要。 字串
類型 虛擬機的識別類型。 指定 [無] 以退出受控識別。 'None'
'SystemAssigned'
'UserAssigned'

WsfcDomainCredentials

名字 描述 價值
clusterBootstrapAccountPassword 叢集啟動程式帳戶密碼。 字串
clusterOperatorAccountPassword 叢集操作員帳戶密碼。 字串
sqlServiceAccountPassword SQL 服務帳戶密碼。 字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用現有的 SQL 虛擬機部署 SQL Always ON 設定

部署至 Azure
使用現有的 SQL 虛擬機器部署 SQL Always ON 安裝程式。 虛擬機應該已經加入現有的網域,而且必須執行 SQL Server 的企業版本。
使用效能優化的記憶體設定 SQL Server VM

部署至 Azure
在 PremiumSSD 上建立具有效能優化記憶體設定的 SQL Server 虛擬機
UltraSSD 上的 SQL VM 效能優化記憶體設定

部署至 Azure
使用 UltraSSD 建立具有效能優化記憶體設定的 SQL Server 虛擬機,並針對 SQL 記錄檔使用 UltraSSD

Terraform (AzAPI 提供者) 資源定義

sqlVirtualMachines 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔

資源格式

若要建立 Microsoft.SqlVirtualMachine/sqlVirtualMachines 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" = {
  type = "Microsoft.SqlVirtualMachine/sqlVirtualMachines@2023-10-01"
  name = "string"
  identity = {
    type = "string"
  }
  location = "string"
  body = jsonencode({
    properties = {
      assessmentSettings = {
        enable = bool
        runImmediately = bool
        schedule = {
          dayOfWeek = "string"
          enable = bool
          monthlyOccurrence = int
          startTime = "string"
          weeklyInterval = int
        }
      }
      autoBackupSettings = {
        backupScheduleType = "string"
        backupSystemDbs = bool
        daysOfWeek = [
          "string"
        ]
        enable = bool
        enableEncryption = bool
        fullBackupFrequency = "string"
        fullBackupStartTime = int
        fullBackupWindowHours = int
        logBackupFrequency = int
        password = "string"
        retentionPeriod = int
        storageAccessKey = "string"
        storageAccountUrl = "string"
        storageContainerName = "string"
      }
      autoPatchingSettings = {
        additionalVmPatch = "string"
        dayOfWeek = "string"
        enable = bool
        maintenanceWindowDuration = int
        maintenanceWindowStartingHour = int
      }
      enableAutomaticUpgrade = bool
      keyVaultCredentialSettings = {
        azureKeyVaultUrl = "string"
        credentialName = "string"
        enable = bool
        servicePrincipalName = "string"
        servicePrincipalSecret = "string"
      }
      leastPrivilegeMode = "string"
      serverConfigurationsManagementSettings = {
        additionalFeaturesServerConfigurations = {
          isRServicesEnabled = bool
        }
        azureAdAuthenticationSettings = {
          clientId = "string"
        }
        sqlConnectivityUpdateSettings = {
          connectivityType = "string"
          port = int
          sqlAuthUpdatePassword = "string"
          sqlAuthUpdateUserName = "string"
        }
        sqlInstanceSettings = {
          collation = "string"
          isIfiEnabled = bool
          isLpimEnabled = bool
          isOptimizeForAdHocWorkloadsEnabled = bool
          maxDop = int
          maxServerMemoryMB = int
          minServerMemoryMB = int
        }
        sqlStorageUpdateSettings = {
          diskConfigurationType = "string"
          diskCount = int
          startingDeviceId = int
        }
        sqlWorkloadTypeUpdateSettings = {
          sqlWorkloadType = "string"
        }
      }
      sqlImageOffer = "string"
      sqlImageSku = "string"
      sqlManagement = "string"
      sqlServerLicenseType = "string"
      sqlVirtualMachineGroupResourceId = "string"
      storageConfigurationSettings = {
        diskConfigurationType = "string"
        enableStorageConfigBlade = bool
        sqlDataSettings = {
          defaultFilePath = "string"
          luns = [
            int
          ]
          useStoragePool = bool
        }
        sqlLogSettings = {
          defaultFilePath = "string"
          luns = [
            int
          ]
          useStoragePool = bool
        }
        sqlSystemDbOnDataDisk = bool
        sqlTempDbSettings = {
          dataFileCount = int
          dataFileSize = int
          dataGrowth = int
          defaultFilePath = "string"
          logFileSize = int
          logGrowth = int
          luns = [
            int
          ]
          persistFolder = bool
          persistFolderPath = "string"
          useStoragePool = bool
        }
        storageWorkloadType = "string"
      }
      virtualMachineIdentitySettings = {
        resourceId = "string"
        type = "string"
      }
      virtualMachineResourceId = "string"
      wsfcDomainCredentials = {
        clusterBootstrapAccountPassword = "string"
        clusterOperatorAccountPassword = "string"
        sqlServiceAccountPassword = "string"
      }
      wsfcStaticIp = "string"
    }
  })
  tags = {
    {customized property} = "string"
  }
}

屬性值

AADAuthenticationSettings

名字 描述 價值
clientId 要查詢 Microsoft Graph API 之受控識別的用戶端標識碼。 空字串必須用於系統指派的受控識別 字串

AdditionalFeaturesServerConfigurations

名字 描述 價值
isRServicesEnabled 啟用或停用 R 服務(SQL 2016 及更新版本)。 bool

AssessmentSettings

名字 描述 價值
使 在 SQL 虛擬機上啟用或停用 SQL 最佳做法評定功能。 bool
runImmediately 立即在 SQL 虛擬機上執行 SQL 最佳做法評定。 bool
附表 排程 SQL 最佳做法評定。 排程

AutoBackupSettings

名字 描述 價值
backupScheduleType 備份排程類型。 'Automated'
'Manual'
backupSystemDbs 包含或排除自動備份的系統資料庫。 bool
daysOfWeek 當 FullBackupFrequency 設定為 [每周] 時,備份的星期幾。 包含任何的字串數組:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動備份。 bool
enableEncryption 在 SQL 虛擬機上啟用或停用備份的加密。 bool
fullBackupFrequency 完整備份的頻率。 在這兩種情況下,完整備份都會在下一個排程的時間範圍期間開始。 'Daily'
'Weekly'
fullBackupStartTime 指定日期的開始時間,可在其中進行完整備份。 0-23 小時。 int
fullBackupWindowHours 指定時間範圍期間,可在期間進行完整備份。 1-23 小時。 int
logBackupFrequency 記錄備份的頻率。 5-60 分鐘。 int
密碼 備份時加密的密碼。 字串
retentionPeriod 備份的保留期間:1-90 天。 int
storageAccessKey 將進行備份的記憶體帳戶金鑰。 字串
storageAccountUrl 將進行備份的記憶體帳戶 URL。 字串
storageContainerName 將進行備份的記憶體容器名稱。 字串

AutoPatchingSettings

名字 描述 價值
additionalVmPatch 在 SQL 虛擬機上啟用或啟用的其他修補程式。 'MicrosoftUpdate'
'NotSet'
dayOfWeek 要套用修補程式的一周中的一天。 '每天'
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的一天中的小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

名字 描述 價值
azureKeyVaultUrl Azure Key Vault URL。 字串
credentialName 認證名稱。 字串
使 啟用或停用金鑰保存庫認證設定。 bool
servicePrincipalName 用來存取金鑰保存庫的服務主體名稱。 字串
servicePrincipalSecret 用來存取金鑰保存庫的服務主體名稱秘密。 字串

Microsoft.SqlVirtualMachine/sqlVirtualMachines

名字 描述 價值
身份 請勿使用。 此值將會被取代。 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
位置 資源位置。 字串 (必要)
名字 資源名稱 字串

約束:
最小長度 = 1
最大長度 = 1
模式 = ^((?!_)[^\\/"'\[\]:|<>+=;,?*@&]{1,64}(?<![.-]))$ (必要)
性能 資源屬性。 SqlVirtualMachineProperties
標籤 資源標籤。 TrackedResourceTags

ResourceIdentity

名字 描述 價值
類型 識別類型。 將此設定為 『SystemAssigned』,以自動建立和指派資源的 Azure Active Directory 主體。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'

附表

名字 描述 價值
dayOfWeek 執行評定的一周中的一天。 'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
使 在 SQL 虛擬機上啟用或停用評量排程。 bool
monthlyOccurrence 在一個月內發生 DayOfWeek 天以排程評量。 接受值:1,2,3,4 和 -1。 針對當月的最後一天使用 -1 OfWeek 日 int
startTime 以 HH:mm 格式的一天時間。例如17:30 字串
weeklyInterval 排程在 2 個評量執行之間的周數。 接受 1-6 的值 int

ServerConfigurationsManagementSettings

名字 描述 價值
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
azureAdAuthenticationSettings Azure AD 驗證設定。 AADAuthenticationSettings
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 記憶體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

SqlConnectivityUpdateSettings

名字 描述 價值
connectivityType SQL Server 連線選項。 'LOCAL'
'PRIVATE'
'PUBLIC'
港口 SQL Server 連接埠。 int
sqlAuthUpdatePassword SQL Server 系統管理員登入密碼。 字串
sqlAuthUpdateUserName 要建立的 SQL Server 系統管理員登入。 字串

SQLInstanceSettings

名字 描述 價值
整理 SQL Server 定序。 字串
isIfiEnabled SQL Server IFI。 bool
isLpimEnabled SQL Server LPIM。 bool
isOptimizeForAdHocWorkloadsEnabled SQL Server 優化 Adhoc 工作負載。 bool
maxDop SQL Server MAXDOP。 int
maxServerMemoryMB SQL Server 記憶體上限。 int
minServerMemoryMB SQL Server 最小記憶體。 int

SQLStorageSettings

名字 描述 價值
defaultFilePath SQL Server 預設檔案路徑 字串
luns 磁碟的邏輯單元編號。 int[]
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlStorageUpdateSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
diskCount 虛擬機磁碟計數。 int
startingDeviceId 要更新之第一個磁碟的裝置標識碼。 int

SQLTempDbSettings

名字 描述 價值
dataFileCount SQL Server tempdb 資料檔計數 int
dataFileSize SQL Server tempdb 資料檔大小 int
dataGrowth SQL Server tempdb 資料文件自動成長大小 int
defaultFilePath SQL Server 預設檔案路徑 字串
logFileSize SQL Server tempdb 記錄檔大小 int
logGrowth SQL Server tempdb 記錄檔自動成長大小 int
luns 磁碟的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 儲存資料夾選擇 bool
persistFolderPath SQL Server tempdb 儲存資料夾位置 字串
useStoragePool 如果為 true 或未提供,請使用存放集區來建置磁碟驅動器 bool

SqlVirtualMachineProperties

名字 描述 價值
assessmentSettings SQL 最佳做法評定設定。 AssessmentSettings
autoBackupSettings SQL Server 的自動備份設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 擴充代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 'Enabled'
'NotSet'
serverConfigurationsManagementSettings SQL Server 組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映像供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server 版本類型。 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server 管理類型。 注意:不再使用此參數。 API 會自動偵測 Sql 管理,避免使用它。 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server 授權類型。 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId SQL 虛擬機器群組的 ARM 資源識別碼,此 SQL 虛擬機是或將會是其中的一部分。 字串
storageConfigurationSettings 記憶體組態設定。 StorageConfigurationSettings
virtualMachineIdentitySettings 用於 Sql IaaS 擴充功能組態的虛擬機身分識別詳細數據。 VirtualMachineIdentity
virtualMachineResourceId 從 SQL Marketplace 映像建立之基礎虛擬機的 ARM 資源識別碼。 字串
wsfcDomainCredentials 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 設定 SQL 可用性群組 Windows Server 故障轉移叢集的網域認證。 字串

SqlWorkloadTypeUpdateSettings

名字 描述 價值
sqlWorkloadType SQL Server 工作負載類型。 'DW'
'GENERAL'
'OLTP'

StorageConfigurationSettings

名字 描述 價值
diskConfigurationType 要套用至 SQL Server 的磁碟組態。 'ADD'
'EXTEND'
'NEW'
enableStorageConfigBlade 在 Azure 入口網站中啟用 SQL IaaS 代理程式記憶體設定刀鋒視窗。 bool
sqlDataSettings SQL Server 資料記憶體設定。 SQLStorageSettings
sqlLogSettings SQL Server 記錄記憶體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,則為 DataPool 上的 SQL Server SystemDb 記憶體。 bool
sqlTempDbSettings SQL Server TempDb 記憶體設定。 SQLTempDbSettings
storageWorkloadType 記憶體工作負載類型。 'DW'
'GENERAL'
'OLTP'

TrackedResourceTags

名字 描述 價值

VirtualMachineIdentity

名字 描述 價值
resourceId 身分識別的 ARM 資源識別碼。 只有在選取 UserAssigned 身分識別時才需要。 字串
類型 虛擬機的識別類型。 指定 [無] 以退出受控識別。 'None'
'SystemAssigned'
'UserAssigned'

WsfcDomainCredentials

名字 描述 價值
clusterBootstrapAccountPassword 叢集啟動程式帳戶密碼。 字串
clusterOperatorAccountPassword 叢集操作員帳戶密碼。 字串
sqlServiceAccountPassword SQL 服務帳戶密碼。 字串