Compartilhar via


Microsoft.SqlVirtualMachine sqlVirtualMachines

Definição de recurso do Bicep

O tipo de recurso sqlVirtualMachines pode ser implantado em:

Para obter uma lista das propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.SqlVirtualMachine/sqlVirtualMachines, adicione o seguinte Bicep ao modelo.

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'
  }
}

Valores de propriedade

sqlVirtualMachines

Nome Descrição Valor
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. cadeia de caracteres (obrigatório)
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Confira Marcas em modelos
identidade Identidade do Azure Active Directory do servidor. ResourceIdentity
properties Propriedades do recurso. SqlVirtualMachineProperties

ResourceIdentity

Nome Descrição Valor
tipo O tipo de identidade. Defina isso como 'SystemAssigned' para criar e atribuir automaticamente uma entidade de segurança do Azure Active Directory para o recurso. 'None'
'SystemAssigned'

SqlVirtualMachineProperties

Nome Descrição Valor
assessmentSettings Configurações de Avaliação. AssessmentSettings
autoBackupSettings Configurações de backup automático para SQL Server. AutoBackupSettings
autoPatchingSettings Configurações de aplicação automática de patch para aplicar atualizações críticas de segurança à máquina virtual do SQL. AutoPatchingSettings
enableAutomaticUpgrade Habilite a atualização automática do Agente de extensão IaaS do Sql. bool
keyVaultCredentialSettings Configurações de credencial do cofre de chaves. KeyVaultCredentialSettings
leastPrivilegeMode Modo de privilégio mínimo do Agente IaaS do SQL. 'Enabled'
serverConfigurationsManagementSettings SQL Server definições de gerenciamento de configuração. ServerConfigurationsManagementSettings
sqlImageOffer Oferta de imagem SQL. Os exemplos incluem SQL2016-WS2016, SQL2017-WS2016. string
sqlImageSku SQL Server tipo de edição. 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server Tipo de gerenciamento. 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server tipo de licença. 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId ID de recurso do ARM do grupo de máquinas virtuais do SQL do qual essa máquina virtual do SQL faz parte ou fará parte. string
storageConfigurationSettings Definições de configuração de armazenamento. StorageConfigurationSettings
virtualMachineResourceId ID de recurso do ARM da máquina virtual subjacente criada a partir da imagem do marketplace do SQL. string
wsfcDomainCredentials Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. WsfcDomainCredentials
wsfcStaticIp Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. string

AssessmentSettings

Nome Descrição Valor
enable Habilitar ou desabilitar o recurso de avaliação na máquina virtual do SQL. bool
runImmediately Execute a avaliação imediatamente na máquina virtual do SQL. bool
schedule Agendamento para Avaliação. Agenda

Agenda

Nome Descrição Valor
dayOfWeek Dia da semana para executar a avaliação. 'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilitar ou desabilitar o agendamento de avaliação na máquina virtual do SQL. bool
monthlyOccurrence Ocorrência do dia DayOfWeek dentro de um mês para agendar a avaliação. Usa valores: 1,2,3,4 e -1. Usar -1 para o último dia DayOfWeek do mês INT
startTime Hora do dia no formato HH:mm. Eg. 17:30 string
weeklyInterval Número de semanas para agendar entre duas execuções de avaliação. Usa o valor de 1 a 6 INT

AutoBackupSettings

Nome Descrição Valor
backupScheduleType Tipo de agenda de backup. 'Automatizado'
'Manual'
backupSystemDbs Incluir ou excluir bancos de dados do sistema do backup automático. bool
Daysofweek Dias da semana para os backups quando FullBackupFrequency é definido como Semanal. Matriz de cadeia de caracteres que contém qualquer um dos:
'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilitar ou desabilitar o backup automático na máquina virtual do SQL. bool
enableEncryption Habilite ou desabilite a criptografia para backup na máquina virtual do SQL. bool
fullBackupFrequency Frequência de backups completos. Em ambos os casos, os backups completos são iniciados durante a janela de tempo agendada seguinte. 'Diariamente'
'Semanal'
fullBackupStartTime A hora de início de um determinado dia durante o qual os backups completos podem ocorrer. 0 a 23 horas. INT
fullBackupWindowHours A duração da janela de tempo de um determinado dia durante o qual os backups completos podem ocorrer. 1 a 23 horas. INT
logBackupFrequency Frequência de backups de log. 5 a 60 minutos. INT
password Senha para criptografia no backup. string
retentionPeriod Período de retenção de backup: de 1 a 90 dias. INT
storageAccessKey Chave da conta de armazenamento para a qual o backup será feito. string
storageAccountUrl URL da conta de armazenamento para a qual o backup será levado. string
storageContainerName Nome do contêiner de armazenamento para o qual o backup será levado. string

AutoPatchingSettings

Nome Descrição Valor
dayOfWeek Dia da semana para aplicar o patch. 'Todos os dias'
'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilite ou desabilite o preenchimento automático na máquina virtual do SQL. bool
maintenanceWindowDuration Duração da aplicação de patch. INT
maintenanceWindowStartingHour Hora do dia em que a aplicação de patch é iniciada. Hora da VM local. INT

KeyVaultCredentialSettings

Nome Descrição Valor
azureKeyVaultUrl URL de Key Vault do Azure. string
credentialName Nome da credencial. string
enable Habilitar ou desabilitar a configuração de credencial do cofre de chaves. bool
servicePrincipalName Nome da entidade de serviço para acessar o cofre de chaves. string
servicePrincipalSecret Segredo do nome da entidade de serviço para acessar o cofre de chaves. string

ServerConfigurationsManagementSettings

Nome Descrição Valor
additionalFeaturesServerConfigurations Configurações adicionais do recurso SQL. AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings Configurações de tipo de conectividade SQL. SqlConnectivityUpdateSettings
sqlInstanceSettings Configurações da Instância do SQL. SQLInstanceSettings
sqlStorageUpdateSettings Configurações de atualização de armazenamento do SQL. SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings Configurações de tipo de carga de trabalho SQL. SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

Nome Descrição Valor
isRServicesEnabled Habilitar ou desabilitar serviços do R (SQL 2016 em diante). bool

SqlConnectivityUpdateSettings

Nome Descrição Valor
connectivityType SQL Server opção de conectividade. 'LOCAL'
'PRIVATE'
'PUBLIC'
porta SQL Server porta. INT
sqlAuthUpdatePassword SQL Server senha de logon do sysadmin. string
sqlAuthUpdateUserName SQL Server logon sysadmin a ser criado. string

SQLInstanceSettings

Nome Descrição Valor
ordenação SQL Server Ordenação. string
isIfiEnabled SQL Server IFI. bool
isLpimEnabled SQL Server LPIM. bool
isOptimizeForAdHocWorkloadsEnabled SQL Server Otimizar para cargas de trabalho Adhoc. bool
Maxdop SQL Server MAXDOP. INT
maxServerMemoryMB SQL Server memória máxima. INT
minServerMemoryMB SQL Server memória mínima. INT

SqlStorageUpdateSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. 'ADD'
'EXTEND'
'NEW'
diskCount Contagem de discos de máquina virtual. INT
startingDeviceId ID do dispositivo do primeiro disco a ser atualizado. INT

SqlWorkloadTypeUpdateSettings

Nome Descrição Valor
sqlWorkloadType SQL Server tipo de carga de trabalho. 'DW'
'GERAL'
'OLTP'

StorageConfigurationSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. 'ADD'
'EXTEND'
'NEW'
sqlDataSettings SQL Server Configurações de Armazenamento de Dados. SQLStorageSettings
sqlLogSettings SQL Server configurações de armazenamento de log. SQLStorageSettings
sqlSystemDbOnDataDisk SQL Server o Armazenamento do SystemDb no DataPool, se for verdadeiro. bool
sqlTempDbSettings SQL Server Configurações de Armazenamento tempDb. SQLTempDbSettings
storageWorkloadType Tipo de carga de trabalho de armazenamento. 'DW'
'GERAL'
'OLTP'

SQLStorageSettings

Nome Descrição Valor
defaultFilePath SQL Server caminho de arquivo padrão string
Luns Números de unidade lógica para os discos. int[]

SQLTempDbSettings

Nome Descrição Valor
dataFileCount SQL Server contagem de arquivos de dados tempdb INT
dataFileSize SQL Server tamanho do arquivo de dados tempdb INT
dataGrowth SQL Server autoGrowth do arquivo de dados tempdb INT
defaultFilePath SQL Server caminho de arquivo padrão string
Logfilesize SQL Server tamanho do arquivo de log tempdb INT
logGrowth SQL Server autoGrowth do arquivo de log tempdb INT
Luns Números de unidade lógica para os discos. int[]
persistFolder SQL Server tempdb persistem a escolha da pasta bool
persistFolderPath SQL Server tempdb persistem o local da pasta string

WsfcDomainCredentials

Nome Descrição Valor
clusterBootstrapAccountPassword Senha da conta de inicialização do cluster. string
clusterOperatorAccountPassword Senha da conta do operador de cluster. string
sqlServiceAccountPassword Senha da conta de serviço do SQL. string

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Implantar a instalação do Always ON do SQL com o SQL Máquinas Virtuais existente

Implantar no Azure
Implante a instalação do SQL Always ON com o SQL Máquinas Virtuais existente. As máquinas virtuais já devem estar unidas a um domínio existente e devem estar executando a versão corporativa do SQL Server.
Configurações de armazenamento da VM do SQL Server com otimização de desempenho

Implantar no Azure
Criar uma máquina virtual SQL Server com configurações de armazenamento otimizadas para desempenho no PremiumSSD
Configurações de armazenamento otimizado para desempenho de VM do SQL no UltraSSD

Implantar no Azure
Criar uma máquina virtual SQL Server com configurações de armazenamento com otimização de desempenho, usando UltraSSD para arquivos de log do SQL

Definição de recurso de modelo do ARM

O tipo de recurso sqlVirtualMachines pode ser implantado em:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.SqlVirtualMachine/sqlVirtualMachines, adicione o JSON a seguir ao modelo.

{
  "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"
  }
}

Valores de propriedade

sqlVirtualMachines

Nome Descrição Valor
tipo O tipo de recurso 'Microsoft.SqlVirtualMachine/sqlVirtualMachines'
apiVersion A versão da API de recursos '2022-07-01-preview'
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. cadeia de caracteres (obrigatório)
marcas Marcas de recurso. Dicionário de nomes e valores de marcas. Consulte Marcas em modelos
identidade Identidade do Azure Active Directory do servidor. ResourceIdentity
properties Propriedades do recurso. SqlVirtualMachineProperties

ResourceIdentity

Nome Descrição Valor
tipo O tipo de identidade. Defina isso como "SystemAssigned" para criar e atribuir automaticamente uma entidade de segurança do Azure Active Directory para o recurso. 'None'
'SystemAssigned'

SqlVirtualMachineProperties

Nome Descrição Valor
assessmentSettings Configurações de Avaliação. AssessmentSettings
autoBackupSettings Configurações de backup automático para SQL Server. AutoBackupSettings
autoPatchingSettings Configurações de aplicação automática de patch para aplicar atualizações de segurança críticas à máquina virtual do SQL. AutoPatchingSettings
enableAutomaticUpgrade Habilitar a atualização automática do Agente de extensão IaaS do Sql. bool
keyVaultCredentialSettings Configurações de credencial do cofre de chaves. KeyVaultCredentialSettings
leastPrivilegeMode Modo de privilégios mínimos do SqL IaaS Agent. 'Enabled'
serverConfigurationsManagementSettings SQL Server definições de gerenciamento de configuração. ServerConfigurationsManagementSettings
sqlImageOffer Oferta de imagem SQL. Os exemplos incluem SQL2016-WS2016, SQL2017-WS2016. string
sqlImageSku SQL Server tipo de edição. 'Developer'
'Enterprise'
'Express'
'Standard'
'Web'
sqlManagement SQL Server Tipo de gerenciamento. 'Full'
'LightWeight'
'NoAgent'
sqlServerLicenseType SQL Server tipo de licença. 'AHUB'
'DR'
'PAYG'
sqlVirtualMachineGroupResourceId ID de recurso do ARM do grupo de máquinas virtuais do SQL do qual essa máquina virtual do SQL faz parte ou fará parte. string
storageConfigurationSettings Definições de configuração de armazenamento. StorageConfigurationSettings
virtualMachineResourceId ID de recurso do ARM da máquina virtual subjacente criada a partir da imagem do marketplace do SQL. string
wsfcDomainCredentials Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. WsfcDomainCredentials
wsfcStaticIp Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. string

AssessmentSettings

Nome Descrição Valor
enable Habilitar ou desabilitar o recurso de avaliação na máquina virtual do SQL. bool
runImmediately Execute a avaliação imediatamente na máquina virtual do SQL. bool
schedule Agendamento para Avaliação. Agenda

Agenda

Nome Descrição Valor
dayOfWeek Dia da semana para executar a avaliação. 'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilitar ou desabilitar o agendamento de avaliação na máquina virtual do SQL. bool
monthlyOccurrence Ocorrência do dia DayOfWeek dentro de um mês para agendar a avaliação. Usa valores: 1,2,3,4 e -1. Usar -1 para o último dia DayOfWeek do mês INT
startTime Hora do dia no formato HH:mm. Eg. 17:30 string
weeklyInterval Número de semanas para agendar entre duas execuções de avaliação. Usa o valor de 1 a 6 INT

AutoBackupSettings

Nome Descrição Valor
backupScheduleType Tipo de agenda de backup. 'Automatizado'
'Manual'
backupSystemDbs Incluir ou excluir bancos de dados do sistema do backup automático. bool
Daysofweek Dias da semana para os backups quando FullBackupFrequency é definido como Semanal. Matriz de cadeia de caracteres que contém qualquer um dos:
'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilitar ou desabilitar o backup automático na máquina virtual do SQL. bool
enableEncryption Habilite ou desabilite a criptografia para backup na máquina virtual do SQL. bool
fullBackupFrequency Frequência de backups completos. Em ambos os casos, os backups completos são iniciados durante a janela de tempo agendada seguinte. 'Diário'
'Semanal'
fullBackupStartTime A hora de início de um determinado dia durante o qual os backups completos podem ocorrer. 0 a 23 horas. INT
fullBackupWindowHours A duração da janela de tempo de um determinado dia durante o qual os backups completos podem ocorrer. 1 a 23 horas. INT
logBackupFrequency Frequência de backups de log. 5 a 60 minutos. INT
password Senha para criptografia no backup. string
retentionPeriod Período de retenção do backup: 1 a 90 dias. INT
storageAccessKey Chave da conta de armazenamento para a qual o backup será levado. string
storageAccountUrl URL da conta de armazenamento para a qual o backup será levado. string
storageContainerName Nome do contêiner de armazenamento para o qual o backup será levado. string

AutoPatchingSettings

Nome Descrição Valor
dayOfWeek Dia da semana para aplicar o patch. 'Todos os dias'
'Sexta-feira'
'Segunda-feira'
'Sábado'
'Domingo'
'Quinta-feira'
'Terça-feira'
'Quarta-feira'
enable Habilite ou desabilite o preenchimento automático na máquina virtual do SQL. bool
maintenanceWindowDuration Duração da aplicação de patch. INT
maintenanceWindowStartingHour Hora do dia em que a aplicação de patch é iniciada. Hora da VM local. INT

KeyVaultCredentialSettings

Nome Descrição Valor
azureKeyVaultUrl URL de Key Vault do Azure. string
credentialName Nome da credencial. string
enable Habilitar ou desabilitar a configuração de credencial do cofre de chaves. bool
servicePrincipalName Nome da entidade de serviço para acessar o cofre de chaves. string
servicePrincipalSecret Segredo do nome da entidade de serviço para acessar o cofre de chaves. string

ServerConfigurationsManagementSettings

Nome Descrição Valor
additionalFeaturesServerConfigurations Configurações adicionais do recurso SQL. AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings Configurações de tipo de conectividade SQL. SqlConnectivityUpdateSettings
sqlInstanceSettings Configurações da Instância do SQL. SQLInstanceSettings
sqlStorageUpdateSettings Configurações de atualização de armazenamento do SQL. SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings Configurações de tipo de carga de trabalho SQL. SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

Nome Descrição Valor
isRServicesEnabled Habilitar ou desabilitar serviços do R (SQL 2016 em diante). bool

SqlConnectivityUpdateSettings

Nome Descrição Valor
connectivityType SQL Server opção de conectividade. 'LOCAL'
'PRIVATE'
'PUBLIC'
porta SQL Server porta. INT
sqlAuthUpdatePassword SQL Server senha de logon do sysadmin. string
sqlAuthUpdateUserName SQL Server logon sysadmin a ser criado. string

SQLInstanceSettings

Nome Descrição Valor
ordenação SQL Server Ordenação. string
isIfiEnabled SQL Server IFI. bool
isLpimEnabled SQL Server LPIM. bool
isOptimizeForAdHocWorkloadsEnabled SQL Server Otimizar para cargas de trabalho Adhoc. bool
Maxdop SQL Server MAXDOP. INT
maxServerMemoryMB SQL Server memória máxima. INT
minServerMemoryMB SQL Server memória mínima. INT

SqlStorageUpdateSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. 'ADD'
'EXTEND'
'NEW'
diskCount Contagem de discos de máquina virtual. INT
startingDeviceId ID do dispositivo do primeiro disco a ser atualizado. INT

SqlWorkloadTypeUpdateSettings

Nome Descrição Valor
sqlWorkloadType SQL Server tipo de carga de trabalho. 'DW'
'GENERAL'
'OLTP'

StorageConfigurationSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. 'ADD'
'EXTEND'
'NEW'
sqlDataSettings SQL Server Configurações de Armazenamento de Dados. SQLStorageSettings
sqlLogSettings SQL Server Configurações de Armazenamento de Logs. SQLStorageSettings
sqlSystemDbOnDataDisk SQL Server o Armazenamento do SystemDb no DataPool, se for true. bool
sqlTempDbSettings SQL Server Configurações de Armazenamento tempDb. SQLTempDbSettings
storageWorkloadType Tipo de carga de trabalho de armazenamento. 'DW'
'GENERAL'
'OLTP'

SQLStorageSettings

Nome Descrição Valor
defaultFilePath SQL Server caminho de arquivo padrão string
Luns Números de unidade lógica para os discos. int[]

SQLTempDbSettings

Nome Descrição Valor
dataFileCount SQL Server contagem de arquivos de dados tempdb INT
dataFileSize SQL Server tamanho do arquivo de dados tempdb INT
dataGrowth SQL Server autoGrowth do arquivo de dados tempdb INT
defaultFilePath SQL Server caminho de arquivo padrão string
Logfilesize SQL Server tamanho do arquivo de log tempdb INT
logGrowth SQL Server arquivo de log tempdb autoGrowth size INT
Luns Números de unidade lógica para os discos. int[]
persistFolder SQL Server tempdb persistem a escolha da pasta bool
persistFolderPath SQL Server tempdb persistem o local da pasta string

WsfcDomainCredentials

Nome Descrição Valor
clusterBootstrapAccountPassword Senha da conta de inicialização do cluster. string
clusterOperatorAccountPassword Senha da conta do operador de cluster. string
sqlServiceAccountPassword Senha da conta de serviço do SQL. string

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
Implantar a instalação do Always ON do SQL com o SQL Máquinas Virtuais existente

Implantar no Azure
Implante a instalação do SQL Always ON com o SQL Máquinas Virtuais existente. As máquinas virtuais já devem estar unidas a um domínio existente e devem estar executando a versão corporativa do SQL Server.
Configurações de armazenamento da VM do SQL Server com otimização de desempenho

Implantar no Azure
Criar uma máquina virtual SQL Server com configurações de armazenamento otimizadas para desempenho no PremiumSSD
Configurações de armazenamento otimizado para desempenho de VM do SQL no UltraSSD

Implantar no Azure
Criar uma máquina virtual SQL Server com configurações de armazenamento com otimização de desempenho, usando UltraSSD para arquivos de log do SQL

Definição de recurso do Terraform (provedor AzAPI)

O tipo de recurso sqlVirtualMachines pode ser implantado em:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.

Formato de recurso

Para criar um recurso Microsoft.SqlVirtualMachine/sqlVirtualMachines, adicione o Terraform a seguir ao modelo.

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"
    }
  })
}

Valores de propriedade

sqlVirtualMachines

Nome Descrição Valor
tipo O tipo de recurso "Microsoft.SqlVirtualMachine/sqlVirtualMachines@2022-07-01-preview"
name O nome do recurso cadeia de caracteres (obrigatório)
local Local do recurso. cadeia de caracteres (obrigatório)
parent_id Para implantar em um grupo de recursos, use a ID desse grupo de recursos. cadeia de caracteres (obrigatório)
marcas Marcas de recurso. Dicionário de nomes e valores de marcas.
identidade Identidade do Azure Active Directory do servidor. ResourceIdentity
properties Propriedades do recurso. SqlVirtualMachineProperties

ResourceIdentity

Nome Descrição Valor
tipo O tipo de identidade. Defina isso como 'SystemAssigned' para criar e atribuir automaticamente uma entidade de segurança do Azure Active Directory para o recurso. "SystemAssigned"

SqlVirtualMachineProperties

Nome Descrição Valor
assessmentSettings Configurações de Avaliação. AssessmentSettings
autoBackupSettings Configurações de backup automático para SQL Server. AutoBackupSettings
autoPatchingSettings Configurações de aplicação automática de patch para aplicar atualizações críticas de segurança à máquina virtual do SQL. AutoPatchingSettings
enableAutomaticUpgrade Habilite a atualização automática do Agente de extensão IaaS do Sql. bool
keyVaultCredentialSettings Configurações de credencial do cofre de chaves. KeyVaultCredentialSettings
leastPrivilegeMode Modo de privilégio mínimo do Agente IaaS do SQL. "Habilitado"
serverConfigurationsManagementSettings SQL Server definições de gerenciamento de configuração. ServerConfigurationsManagementSettings
sqlImageOffer Oferta de imagem SQL. Os exemplos incluem SQL2016-WS2016, SQL2017-WS2016. string
sqlImageSku SQL Server tipo de edição. "Desenvolvedor"
"Enterprise"
"Express"
"Padrão"
"Web"
sqlManagement SQL Server Tipo de gerenciamento. "Completo"
"LightWeight"
"NoAgent"
sqlServerLicenseType SQL Server tipo de licença. "AHUB"
"DR"
"PAYG"
sqlVirtualMachineGroupResourceId ID de recurso do ARM do grupo de máquinas virtuais do SQL do qual essa máquina virtual do SQL faz parte ou fará parte. string
storageConfigurationSettings Definições de configuração de armazenamento. StorageConfigurationSettings
virtualMachineResourceId ID de recurso do ARM da máquina virtual subjacente criada a partir da imagem do marketplace do SQL. string
wsfcDomainCredentials Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. WsfcDomainCredentials
wsfcStaticIp Credenciais de domínio para configurar o Cluster de Failover do Windows Server para o grupo de disponibilidade do SQL. string

AssessmentSettings

Nome Descrição Valor
enable Habilitar ou desabilitar o recurso de avaliação na máquina virtual do SQL. bool
runImmediately Execute a avaliação imediatamente na máquina virtual do SQL. bool
schedule Agendamento para Avaliação. Agenda

Agenda

Nome Descrição Valor
dayOfWeek Dia da semana para executar a avaliação. "Sexta-feira"
"Segunda-feira"
"Sábado"
"Domingo"
"Quinta-Feira"
"Terça-feira"
"Quarta-feira"
enable Habilitar ou desabilitar o agendamento de avaliação na máquina virtual do SQL. bool
monthlyOccurrence Ocorrência do dia DayOfWeek dentro de um mês para agendar a avaliação. Usa valores: 1,2,3,4 e -1. Usar -1 para o último dia DayOfWeek do mês INT
startTime Hora do dia no formato HH:mm. Eg. 17:30 string
weeklyInterval Número de semanas para agendar entre duas execuções de avaliação. Usa o valor de 1 a 6 INT

AutoBackupSettings

Nome Descrição Valor
backupScheduleType Tipo de agenda de backup. "Automatizado"
"Manual"
backupSystemDbs Incluir ou excluir bancos de dados do sistema do backup automático. bool
Daysofweek Dias da semana para os backups quando FullBackupFrequency é definido como Semanal. Matriz de cadeia de caracteres que contém qualquer um dos:
"Sexta-feira"
"Segunda-feira"
"Sábado"
"Domingo"
"Quinta-Feira"
"Terça-feira"
"Quarta-feira"
enable Habilitar ou desabilitar o backup automático na máquina virtual do SQL. bool
enableEncryption Habilite ou desabilite a criptografia para backup na máquina virtual do SQL. bool
fullBackupFrequency Frequência de backups completos. Em ambos os casos, os backups completos são iniciados durante a janela de tempo agendada seguinte. "Diariamente"
"Weekly"
fullBackupStartTime A hora de início de um determinado dia durante o qual os backups completos podem ocorrer. 0 a 23 horas. INT
fullBackupWindowHours A duração da janela de tempo de um determinado dia durante o qual os backups completos podem ocorrer. 1 a 23 horas. INT
logBackupFrequency Frequência de backups de log. 5 a 60 minutos. INT
password Senha para criptografia no backup. string
retentionPeriod Período de retenção de backup: de 1 a 90 dias. INT
storageAccessKey Chave da conta de armazenamento para a qual o backup será feito. string
storageAccountUrl URL da conta de armazenamento para a qual o backup será feito. string
storageContainerName Nome do contêiner de armazenamento para o qual o backup será levado. string

AutoPatchingSettings

Nome Descrição Valor
dayOfWeek Dia da semana no qual aplicar o patch. "Todos os dias"
"Sexta-feira"
"Segunda-feira"
"Sábado"
"Domingo"
"Quinta-Feira"
"Terça-feira"
"Quarta-feira"
enable Habilite ou desabilite o preenchimento automático na máquina virtual do SQL. bool
maintenanceWindowDuration Duração da aplicação de patch. INT
maintenanceWindowStartingHour Hora do dia em que a aplicação de patch é iniciada. Hora da VM local. INT

KeyVaultCredentialSettings

Nome Descrição Valor
azureKeyVaultUrl URL do Key Vault do Azure. string
credentialName Nome da credencial. string
enable Habilitar ou desabilitar a configuração de credencial do cofre de chaves. bool
servicePrincipalName Nome da entidade de serviço para acessar o cofre de chaves. string
servicePrincipalSecret Segredo do nome da entidade de serviço para acessar o cofre de chaves. string

ServerConfigurationsManagementSettings

Nome Descrição Valor
additionalFeaturesServerConfigurations Configurações adicionais do recurso SQL. AdditionalFeaturesServerConfigurations
sqlConnectivityUpdateSettings Configurações de tipo de conectividade SQL. SqlConnectivityUpdateSettings
sqlInstanceSettings Configurações da Instância SQL. SQLInstanceSettings
sqlStorageUpdateSettings Configurações de atualização de armazenamento do SQL. SqlStorageUpdateSettings
sqlWorkloadTypeUpdateSettings Configurações de tipo de carga de trabalho do SQL. SqlWorkloadTypeUpdateSettings

AdditionalFeaturesServerConfigurations

Nome Descrição Valor
isRServicesEnabled Habilitar ou desabilitar serviços do R (SQL 2016 em diante). bool

SqlConnectivityUpdateSettings

Nome Descrição Valor
connectivityType SQL Server opção de conectividade. "LOCAL"
"PRIVATE"
"PUBLIC"
porta SQL Server porta. INT
sqlAuthUpdatePassword SQL Server senha de logon do sysadmin. string
sqlAuthUpdateUserName SQL Server logon sysadmin a ser criado. string

SQLInstanceSettings

Nome Descrição Valor
ordenação ordenação SQL Server. string
isIfiEnabled SQL Server IFI. bool
isLpimEnabled SQL Server LPIM. bool
isOptimizeForAdHocWorkloadsEnabled SQL Server Otimizar para cargas de trabalho Adhoc. bool
Maxdop SQL Server MAXDOP. INT
maxServerMemoryMB SQL Server memória máxima. INT
minServerMemoryMB SQL Server memória mínima. INT

SqlStorageUpdateSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. "ADD"
"EXTEND"
"NOVO"
diskCount Contagem de discos de máquina virtual. INT
startingDeviceId ID do dispositivo do primeiro disco a ser atualizado. INT

SqlWorkloadTypeUpdateSettings

Nome Descrição Valor
sqlWorkloadType SQL Server tipo de carga de trabalho. "DW"
"GERAL"
"OLTP"

StorageConfigurationSettings

Nome Descrição Valor
diskConfigurationType Configuração de disco a ser aplicada a SQL Server. "ADD"
"EXTEND"
"NOVO"
sqlDataSettings SQL Server Configurações de Armazenamento de Dados. SQLStorageSettings
sqlLogSettings SQL Server Configurações de Armazenamento de Logs. SQLStorageSettings
sqlSystemDbOnDataDisk SQL Server o Armazenamento do SystemDb no DataPool, se for true. bool
sqlTempDbSettings SQL Server Configurações de Armazenamento tempDb. SQLTempDbSettings
storageWorkloadType Tipo de carga de trabalho de armazenamento. "DW"
"GERAL"
"OLTP"

SQLStorageSettings

Nome Descrição Valor
defaultFilePath SQL Server caminho de arquivo padrão string
Luns Números de unidade lógica para os discos. int[]

SQLTempDbSettings

Nome Descrição Valor
dataFileCount SQL Server contagem de arquivos de dados tempdb INT
dataFileSize SQL Server tamanho do arquivo de dados tempdb INT
dataGrowth SQL Server autoGrowth do arquivo de dados tempdb INT
defaultFilePath SQL Server caminho de arquivo padrão string
Logfilesize SQL Server tamanho do arquivo de log tempdb INT
logGrowth SQL Server arquivo de log tempdb autoGrowth size INT
Luns Números de unidade lógica para os discos. int[]
persistFolder SQL Server tempdb persistem a escolha da pasta bool
persistFolderPath SQL Server tempdb persistem o local da pasta string

WsfcDomainCredentials

Nome Descrição Valor
clusterBootstrapAccountPassword Senha da conta de inicialização do cluster. string
clusterOperatorAccountPassword Senha da conta do operador de cluster. string
sqlServiceAccountPassword Senha da conta de serviço do SQL. string