Microsoft.SqlVirtualMachine sqlVirtualMachines

Bicep 資源定義

sqlVirtualMachines 資源類型可以部署到:

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

資源格式

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

resource symbolicname 'Microsoft.SqlVirtualMachine/sqlVirtualMachines@2022-07-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  identity: {
    type: '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: {
      dayOfWeek: 'string'
      enable: bool
      maintenanceWindowDuration: int
      maintenanceWindowStartingHour: int
    }
    enableAutomaticUpgrade: bool
    keyVaultCredentialSettings: {
      azureKeyVaultUrl: 'string'
      credentialName: 'string'
      enable: bool
      servicePrincipalName: 'string'
      servicePrincipalSecret: 'string'
    }
    leastPrivilegeMode: 'Enabled'
    serverConfigurationsManagementSettings: {
      additionalFeaturesServerConfigurations: {
        isRServicesEnabled: bool
      }
      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'
      sqlDataSettings: {
        defaultFilePath: 'string'
        luns: [
          int
        ]
      }
      sqlLogSettings: {
        defaultFilePath: 'string'
        luns: [
          int
        ]
      }
      sqlSystemDbOnDataDisk: bool
      sqlTempDbSettings: {
        dataFileCount: int
        dataFileSize: int
        dataGrowth: int
        defaultFilePath: 'string'
        logFileSize: int
        logGrowth: int
        luns: [
          int
        ]
        persistFolder: bool
        persistFolderPath: 'string'
      }
      storageWorkloadType: 'string'
    }
    virtualMachineResourceId: 'string'
    wsfcDomainCredentials: {
      clusterBootstrapAccountPassword: 'string'
      clusterOperatorAccountPassword: 'string'
      sqlServiceAccountPassword: 'string'
    }
    wsfcStaticIp: 'string'
  }
}

屬性值

sqlVirtualMachines

名稱 描述
NAME 資源名稱 需要字串 ()
location 資源位置。 需要字串 ()
tags 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標籤
身分識別 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
properties 資源屬性。 SqlVirtualMachineProperties

ResourceIdentity

名稱 描述
type 識別類型。 將此設定為 'SystemAssigned',以便自動建立並指派資源的 Azure Active Directory 主體。 'None'
'SystemAssigned'

SqlVirtualMachineProperties

名稱 描述
assessmentSettings 評定設定。 AssessmentSettings
autoBackupSettings 自動備份SQL Server設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機器。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 擴充代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 'Enabled'
serverConfigurationsManagementSettings SQL Server組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映射供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server版本類型。 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server管理類型。 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server授權類型。 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId 此 SQL 虛擬機器所屬 SQL 虛擬機器群組的 ARM 資源識別碼, 字串
storageConfigurationSettings 儲存體組態設定。 StorageConfigurationSettings
virtualMachineResourceId 從 SQL Marketplace 映射建立之基礎虛擬機器的 ARM 資源識別碼。 字串
wsfcDomainCredentials 用於設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 用於設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 字串

AssessmentSettings

名稱 描述
enable 在 SQL 虛擬機器上啟用或停用評量功能。 bool
runImmediately 在 SQL 虛擬機器上立即執行評量。 bool
schedule 評量排程。 [排程]

排程

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

AutoBackupSettings

名稱 描述
backupScheduleType 備份排程類型。 '自動化'
'Manual'
backupSystemDbs 包含或排除自動備份的系統資料庫。 bool
daysOfWeek 當 FullBackupFrequency 設定為 [每週] 時,備份的星期幾。 包含任何專案的字串陣列:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
enable 在 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

名稱 描述
dayOfWeek 要套用修補程式的星期數。 '每日'
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
enable 在 SQL 虛擬機器上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的當天小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

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

ServerConfigurationsManagementSettings

名稱 描述
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 儲存體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

名稱 描述
isRServicesEnabled 啟用或停用 SQL 2016) (R 服務。 bool

SqlConnectivityUpdateSettings

名稱 描述
connectivityType SQL Server連線選項。 'LOCAL'
'PRI加值稅E'
'PUBLIC'
連接埠 SQL Server埠。 int
sqlAuthUpdatePassword SQL Server系統管理員登入密碼。 字串
sqlAuthUpdateUserName SQL Server要建立的系統管理員登入。 字串

SQLInstanceSettings

名稱 描述
collation 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

SqlStorageUpdateSettings

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

SqlWorkloadTypeUpdateSettings

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

StorageConfigurationSettings

名稱 描述
diskConfigurationType 要套用至SQL Server的磁片組態。 'ADD'
'EXTEND'
'NEW'
sqlDataSettings SQL Server資料儲存體設定。 SQLStorageSettings
sqlLogSettings SQL Server記錄儲存體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,SQL Server DataPool 上的 SystemDb 儲存體。 bool
sqlTempDbSettings SQL Server TempDb 儲存體設定。 SQLTempDbSettings
storageWorkloadType 儲存體工作負載類型。 'DW'
'GENERAL'
'OLTP'

SQLStorageSettings

名稱 描述
defaultFilePath SQL Server預設檔案路徑 字串
Lun 磁片的邏輯單元編號。 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
Lun 磁片的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 保存資料夾選擇 bool
persistFolderPath SQL Server tempdb 保存資料夾位置 字串

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 記錄檔

ARM 範本資源定義

sqlVirtualMachines 資源類型可以部署到:

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

資源格式

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

{
  "type": "Microsoft.SqlVirtualMachine/sqlVirtualMachines",
  "apiVersion": "2022-07-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "identity": {
    "type": "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": {
      "dayOfWeek": "string",
      "enable": "bool",
      "maintenanceWindowDuration": "int",
      "maintenanceWindowStartingHour": "int"
    },
    "enableAutomaticUpgrade": "bool",
    "keyVaultCredentialSettings": {
      "azureKeyVaultUrl": "string",
      "credentialName": "string",
      "enable": "bool",
      "servicePrincipalName": "string",
      "servicePrincipalSecret": "string"
    },
    "leastPrivilegeMode": "Enabled",
    "serverConfigurationsManagementSettings": {
      "additionalFeaturesServerConfigurations": {
        "isRServicesEnabled": "bool"
      },
      "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",
      "sqlDataSettings": {
        "defaultFilePath": "string",
        "luns": [ "int" ]
      },
      "sqlLogSettings": {
        "defaultFilePath": "string",
        "luns": [ "int" ]
      },
      "sqlSystemDbOnDataDisk": "bool",
      "sqlTempDbSettings": {
        "dataFileCount": "int",
        "dataFileSize": "int",
        "dataGrowth": "int",
        "defaultFilePath": "string",
        "logFileSize": "int",
        "logGrowth": "int",
        "luns": [ "int" ],
        "persistFolder": "bool",
        "persistFolderPath": "string"
      },
      "storageWorkloadType": "string"
    },
    "virtualMachineResourceId": "string",
    "wsfcDomainCredentials": {
      "clusterBootstrapAccountPassword": "string",
      "clusterOperatorAccountPassword": "string",
      "sqlServiceAccountPassword": "string"
    },
    "wsfcStaticIp": "string"
  }
}

屬性值

sqlVirtualMachines

名稱 描述
type 資源類型 'Microsoft.SqlVirtualMachine/sqlVirtualMachines'
apiVersion 資源 API 版本 '2022-07-01-preview'
NAME 資源名稱 字串 (必要)
location 資源位置。 字串 (必要)
tags 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標記
身分識別 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
properties 資源屬性。 SqlVirtualMachineProperties

ResourceIdentity

名稱 描述
type 識別類型。 將此設定為 'SystemAssigned',以便自動建立並指派資源的 Azure Active Directory 主體。 'None'
'SystemAssigned'

SqlVirtualMachineProperties

名稱 描述
assessmentSettings 評定設定。 AssessmentSettings
autoBackupSettings 自動備份SQL Server設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機器。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 延伸模組代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 'Enabled'
serverConfigurationsManagementSettings SQL Server組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映射供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server版本類型。 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server管理類型。 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server授權類型。 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId 此 SQL 虛擬機器所屬 SQL 虛擬機器群組的 ARM 資源識別碼, 字串
storageConfigurationSettings 儲存體組態設定。 StorageConfigurationSettings
virtualMachineResourceId 從 SQL Marketplace 映射建立之基礎虛擬機器的 ARM 資源識別碼。 字串
wsfcDomainCredentials 設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 字串

AssessmentSettings

名稱 描述
enable 在 SQL 虛擬機器上啟用或停用評定功能。 bool
runImmediately 立即在 SQL 虛擬機器上執行評量。 bool
schedule 評量排程。 [排程]

排程

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

AutoBackupSettings

名稱 描述
backupScheduleType 備份排程類型。 'Automated'
'Manual'
backupSystemDbs 包含或排除自動備份的系統資料庫。 bool
daysOfWeek 當 FullBackupFrequency 設定為每週時,備份的星期幾。 包含任何專案的字串陣列:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
enable 在 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

名稱 描述
dayOfWeek 套用修補程式的星期一。 'Everyday'
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
enable 在 SQL 虛擬機器上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的一天中的小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

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

ServerConfigurationsManagementSettings

名稱 描述
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 儲存體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

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

SqlConnectivityUpdateSettings

名稱 描述
connectivityType SQL Server連線選項。 'LOCAL'
'PRI加值稅E'
'PUBLIC'
連接埠 SQL Server埠。 int
sqlAuthUpdatePassword SQL Server系統管理員登入密碼。 字串
sqlAuthUpdateUserName SQL Server要建立的系統管理員登入。 字串

SQLInstanceSettings

名稱 描述
collation 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

SqlStorageUpdateSettings

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

SqlWorkloadTypeUpdateSettings

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

StorageConfigurationSettings

名稱 描述
diskConfigurationType 要套用至SQL Server的磁片組態。 'ADD'
'EXTEND'
'NEW'
sqlDataSettings SQL Server資料儲存體設定。 SQLStorageSettings
sqlLogSettings SQL Server記錄儲存體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,SQL Server DataPool 上的 SystemDb 儲存體。 bool
sqlTempDbSettings SQL Server TempDb 儲存體設定。 SQLTempDbSettings
storageWorkloadType 儲存體工作負載類型。 'DW'
'GENERAL'
'OLTP'

SQLStorageSettings

名稱 描述
defaultFilePath SQL Server預設檔案路徑 字串
Lun 磁片的邏輯單元編號。 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
Lun 磁片的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 保存資料夾選擇 bool
persistFolderPath SQL Server tempdb 保存資料夾位置 字串

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 for SQL 記錄檔建立具有效能優化儲存體設定的SQL Server虛擬機器

Terraform (AzAPI 提供者) 資源定義

sqlVirtualMachines 資源類型可以部署到:

  • 資源群組

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

資源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.SqlVirtualMachine/sqlVirtualMachines@2022-07-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type =  "SystemAssigned"
  }
  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 = {
        dayOfWeek = "string"
        enable = bool
        maintenanceWindowDuration = int
        maintenanceWindowStartingHour = int
      }
      enableAutomaticUpgrade = bool
      keyVaultCredentialSettings = {
        azureKeyVaultUrl = "string"
        credentialName = "string"
        enable = bool
        servicePrincipalName = "string"
        servicePrincipalSecret = "string"
      }
      leastPrivilegeMode = "Enabled"
      serverConfigurationsManagementSettings = {
        additionalFeaturesServerConfigurations = {
          isRServicesEnabled = bool
        }
        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"
        sqlDataSettings = {
          defaultFilePath = "string"
          luns = [
            int
          ]
        }
        sqlLogSettings = {
          defaultFilePath = "string"
          luns = [
            int
          ]
        }
        sqlSystemDbOnDataDisk = bool
        sqlTempDbSettings = {
          dataFileCount = int
          dataFileSize = int
          dataGrowth = int
          defaultFilePath = "string"
          logFileSize = int
          logGrowth = int
          luns = [
            int
          ]
          persistFolder = bool
          persistFolderPath = "string"
        }
        storageWorkloadType = "string"
      }
      virtualMachineResourceId = "string"
      wsfcDomainCredentials = {
        clusterBootstrapAccountPassword = "string"
        clusterOperatorAccountPassword = "string"
        sqlServiceAccountPassword = "string"
      }
      wsfcStaticIp = "string"
    }
  })
}

屬性值

sqlVirtualMachines

名稱 描述
type 資源類型 「Microsoft.SqlVirtualMachine/sqlVirtualMachines@2022-07-01-preview」
NAME 資源名稱 需要字串 ()
location 資源位置。 需要字串 ()
parent_id 若要部署至資源群組,請使用該資源群組的識別碼。 需要字串 ()
tags 資源標籤。 標記名稱和值的字典。
身分識別 伺服器的 Azure Active Directory 身分識別。 ResourceIdentity
properties 資源屬性。 SqlVirtualMachineProperties

ResourceIdentity

名稱 描述
type 識別類型。 將此設定為 'SystemAssigned',以便自動建立並指派資源的 Azure Active Directory 主體。 「SystemAssigned」

SqlVirtualMachineProperties

名稱 描述
assessmentSettings 評定設定。 AssessmentSettings
autoBackupSettings 自動備份SQL Server設定。 AutoBackupSettings
autoPatchingSettings 自動修補設定,以將重大安全性更新套用至 SQL 虛擬機器。 AutoPatchingSettings
enableAutomaticUpgrade 啟用 Sql IaaS 擴充代理程式的自動升級。 bool
keyVaultCredentialSettings 金鑰保存庫認證設定。 KeyVaultCredentialSettings
leastPrivilegeMode SQL IaaS 代理程式最低許可權模式。 「Enabled」
serverConfigurationsManagementSettings SQL Server組態管理設定。 ServerConfigurationsManagementSettings
sqlImageOffer SQL 映射供應專案。 範例包括 SQL2016-WS2016、SQL2017-WS2016。 字串
sqlImageSku SQL Server版本類型。 「Developer」
「企業」
「Express」
「標準」
「Web」
sqlManagement SQL Server管理類型。 「Full」
「LightWeight」
「NoAgent」
sqlServerLicenseType SQL Server授權類型。 「AHUB」
「DR」
「PAYG」
sqlVirtualMachineGroupResourceId 此 SQL 虛擬機器所屬 SQL 虛擬機器群組的 ARM 資源識別碼, 字串
storageConfigurationSettings 儲存體組態設定。 StorageConfigurationSettings
virtualMachineResourceId 從 SQL Marketplace 映射建立之基礎虛擬機器的 ARM 資源識別碼。 字串
wsfcDomainCredentials 用於設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 WsfcDomainCredentials
wsfcStaticIp 用於設定 SQL 可用性群組之 Windows Server 容錯移轉叢集的網域認證。 字串

AssessmentSettings

名稱 描述
enable 在 SQL 虛擬機器上啟用或停用評量功能。 bool
runImmediately 在 SQL 虛擬機器上立即執行評量。 bool
schedule 評量排程。 [排程]

排程

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

AutoBackupSettings

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

AutoPatchingSettings

名稱 描述
dayOfWeek 套用修補程式的星期一。 「每日」
"Friday"
"Monday"
"Saturday"
"Sunday"
"Thursday"
"Tuesday"
"Wednesday"
enable 在 SQL 虛擬機器上啟用或停用自動修補。 bool
maintenanceWindowDuration 修補的持續時間。 int
maintenanceWindowStartingHour 起始修補的一天中的小時。 本機 VM 時間。 int

KeyVaultCredentialSettings

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

ServerConfigurationsManagementSettings

名稱 描述
additionalFeaturesServerConfigurations 其他 SQL 功能設定。 AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings SQL 連線類型設定。 SqlConnectivityUpdateSettings
sqlInstanceSettings SQL 實例設定。 SQLInstanceSettings
sqlStorageUpdateSettings SQL 儲存體更新設定。 SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings SQL 工作負載類型設定。 SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

名稱 描述
isRServicesEnabled 啟用或停用 SQL 2016) (R 服務。 bool

SqlConnectivityUpdateSettings

名稱 描述
connectivityType SQL Server連線選項。 "LOCAL"
「PRI加值稅E」
「PUBLIC」
連接埠 SQL Server埠。 int
sqlAuthUpdatePassword SQL Server系統管理員登入密碼。 字串
sqlAuthUpdateUserName SQL Server要建立的系統管理員登入。 字串

SQLInstanceSettings

名稱 描述
collation 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

SqlStorageUpdateSettings

名稱 描述
diskConfigurationType 要套用至SQL Server的磁片組態。 「ADD」
「EXTEND」
「NEW」
diskCount 虛擬機器磁片計數。 int
startingDeviceId 要更新之第一個磁片的裝置識別碼。 int

SqlWorkloadTypeUpdateSettings

名稱 描述
sqlWorkloadType SQL Server工作負載類型。 「DW」
「GENERAL」
「OLTP」

StorageConfigurationSettings

名稱 描述
diskConfigurationType 要套用至SQL Server的磁片組態。 「ADD」
「EXTEND」
「NEW」
sqlDataSettings SQL Server資料儲存體設定。 SQLStorageSettings
sqlLogSettings SQL Server記錄儲存體設定。 SQLStorageSettings
sqlSystemDbOnDataDisk 如果為 true,SQL Server DataPool 上的 SystemDb 儲存體。 bool
sqlTempDbSettings SQL Server TempDb 儲存體設定。 SQLTempDbSettings
storageWorkloadType 儲存體工作負載類型。 「DW」
「GENERAL」
「OLTP」

SQLStorageSettings

名稱 描述
defaultFilePath SQL Server預設檔案路徑 字串
Lun 磁片的邏輯單元編號。 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
Lun 磁片的邏輯單元編號。 int[]
persistFolder SQL Server tempdb 保存資料夾選擇 bool
persistFolderPath SQL Server tempdb 保存資料夾位置 字串

WsfcDomainCredentials

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