Share via


Microsoft.AzureArcData sqlServerInstances

Bicep resource definition

The sqlServerInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AzureArcData/sqlServerInstances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.AzureArcData/sqlServerInstances@2025-06-01-preview' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  name: 'string'
  properties: {
    authentication: {
      mode: 'string'
      sqlServerEntraIdentity: [
        {
          clientId: 'string'
          identityType: 'string'
        }
      ]
    }
    backupPolicy: {
      differentialBackupHours: int
      fullBackupDays: int
      retentionPeriodDays: int
      transactionLogBackupMinutes: int
    }
    bestPracticesAssessment: {
      enabled: bool
      schedule: {
        cronTrigger: {
          expression: 'string'
          startTime: 'string'
          timeZone: 'string'
        }
        enabled: bool
      }
    }
    clientConnection: {
      enabled: bool
    }
    cores: 'string'
    databaseMirroringEndpoint: {}
    edition: 'string'
    failoverCluster: {}
    hostType: 'string'
    instanceName: 'string'
    migration: {
      assessment: {
        enabled: bool
        impactedObjectsSummary: {}
        settings: {
          costOptions: {
            computeAndStorageCostOption: 'string'
            sqlLicenseCostOption: 'string'
            windowsLicenseCostOption: 'string'
          }
          currency: 'string'
          discountPercentage: int
          lookbackPeriodInDays: int
          percentile: int
          strategy: 'string'
          targetLocation: 'string'
        }
      }
    }
    monitoring: {
      enabled: bool
    }
    serviceType: 'string'
    upgradeLockedUntil: 'string'
    version: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.AzureArcData/sqlServerInstances

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string (required)
properties null SqlServerInstanceProperties
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.
tags Resource tags Dictionary of tag names and values. See Tags in templates

Authentication

Name Description Value
mode Mode of authentication in SqlServer. 'Mixed'
'Undefined'
'Windows'
sqlServerEntraIdentity Entra Authentication configuration for the SQL Server Instance. EntraAuthentication[]

BackupPolicy

Name Description Value
differentialBackupHours The differential backup interval in hours. int
fullBackupDays The value indicating days between full backups. int

Constraints:
Min value = 0
Max value = 7
retentionPeriodDays The retention period for all the databases in this managed instance. int

Constraints:
Min value = 0
Max value = 35
transactionLogBackupMinutes The value indicating minutes between transaction log backups. int

Constraints:
Min value = 0
Max value = 60

BestPracticesAssessment

Name Description Value
enabled Indicates if SQL best practices assessment is enabled for the SQL Server instance. bool
schedule The scheduling configuration. Schedule

ClientConnection

Name Description Value
enabled Indicates if client connection is enabled for this SQL Server instance. bool

CostOptionSelectedValues

Name Description Value
computeAndStorageCostOption selected cost saving option e.g. With1YearASPAndDevTest. string
sqlLicenseCostOption With Azure Hybrid Benefit(AHB) or not for SQL. string
windowsLicenseCostOption With Azure Hybrid Benefit(AHB) or not for Windows. string

CronTrigger

Name Description Value
expression A cron string representing a CronTab expression. A crontab expression is a very compact way to express a recurring schedule with the following format: '{minutes} {hours} {days} {months} {days-of-week}'. string
startTime Indicates the start time for the trigger. The default value is the time at which the trigger was created. string
timeZone The time zone in which the trigger is scheduled. string

DBMEndpoint

Name Description Value

EntraAuthentication

Name Description Value
clientId The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. string
identityType The method used for Entra authentication 'SystemAssignedManagedIdentity'
'UserAssignedManagedIdentity'

FailoverCluster

Name Description Value

ImpactedObjectsSuitabilitySummary

Name Description Value

Migration

Name Description Value
assessment Migration assessments related configuration. MigrationAssessment

MigrationAssessment

Name Description Value
enabled Indicates if migration assessment is enabled for this SQL Server instance. bool
impactedObjectsSummary Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB and SQL MI targets ImpactedObjectsSuitabilitySummary
settings Settings impacting the migration assessment computation - configurable with some default values if not set. MigrationAssessmentSettings

MigrationAssessmentSettings

Name Description Value
costOptions Selected cost option value. CostOptionSelectedValues
currency currency to calculate prices - default USD. string
discountPercentage flat discount percentage to apply for the price - default 0 int
lookbackPeriodInDays How far back to check the performance data - default is 30 (days). int
percentile Indicate the percentile value for the performance sample. (Default is 95th percentile) int
strategy Minimize cost or Migrate to PaaS. - to evaluate based on the recommended strategy string
targetLocation The target location for Azure SQL SKU for migration. - default West US string

Monitoring

Name Description Value
enabled Indicates if monitoring is enabled for this SQL Server instance. bool

Schedule

Name Description Value
cronTrigger The cron trigger configuration. CronTrigger
enabled Indicates whether scheduling is enabled. bool

SqlServerInstanceProperties

Name Description Value
authentication Authentication related configuration for the SQL Server Instance. Authentication
backupPolicy The backup profile for the SQL server. BackupPolicy
bestPracticesAssessment The configuration related to SQL best practices assessment. BestPracticesAssessment
clientConnection Client connection related configuration. ClientConnection
cores The number of total cores of the Operating System Environment (OSE) hosting the SQL Server instance. string
databaseMirroringEndpoint Database mirroring endpoint related properties. DBMEndpoint
edition SQL Server edition. 'Business Intelligence'
'Developer'
'Enterprise'
'Evaluation'
'Express'
'Standard Developer'
'Standard'
'Web'
failoverCluster Failover Cluster Instance properties. FailoverCluster
hostType Type of host for Azure Arc SQL Server 'AWS Kubernetes Service'
'AWS Virtual Machine'
'AWS VMWare Virtual Machine'
'Azure Kubernetes Service'
'Azure Virtual Machine'
'Azure VMWare Virtual Machine'
'Container'
'GCP Kubernetes Service'
'GCP Virtual Machine'
'GCP VMWare Virtual Machine'
'Other'
'Physical Server'
'Virtual Machine'
instanceName SQL Server instance name. string
migration Migration related configuration. Migration
monitoring The monitoring configuration. Monitoring
serviceType Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host. 'Engine'
'PBIRS'
'SSAS'
'SSIS'
'SSRS'
upgradeLockedUntil Upgrade Action for this resource is locked until it expires. The Expiration time indicated by this value. It is not locked when it is empty. string
version SQL Server version. 'SQL Server 2012'
'SQL Server 2014'
'SQL Server 2016'
'SQL Server 2017'
'SQL Server 2019'
'SQL Server 2022'
'SQL Server 2025'
'Unknown'

TrackedResourceTags

Name Description Value

ARM template resource definition

The sqlServerInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AzureArcData/sqlServerInstances resource, add the following JSON to your template.

{
  "type": "Microsoft.AzureArcData/sqlServerInstances",
  "apiVersion": "2025-06-01-preview",
  "name": "string",
  "location": "string",
  "properties": {
    "authentication": {
      "mode": "string",
      "sqlServerEntraIdentity": [
        {
          "clientId": "string",
          "identityType": "string"
        }
      ]
    },
    "backupPolicy": {
      "differentialBackupHours": "int",
      "fullBackupDays": "int",
      "retentionPeriodDays": "int",
      "transactionLogBackupMinutes": "int"
    },
    "bestPracticesAssessment": {
      "enabled": "bool",
      "schedule": {
        "cronTrigger": {
          "expression": "string",
          "startTime": "string",
          "timeZone": "string"
        },
        "enabled": "bool"
      }
    },
    "clientConnection": {
      "enabled": "bool"
    },
    "cores": "string",
    "databaseMirroringEndpoint": {
    },
    "edition": "string",
    "failoverCluster": {
    },
    "hostType": "string",
    "instanceName": "string",
    "migration": {
      "assessment": {
        "enabled": "bool",
        "impactedObjectsSummary": {
        },
        "settings": {
          "costOptions": {
            "computeAndStorageCostOption": "string",
            "sqlLicenseCostOption": "string",
            "windowsLicenseCostOption": "string"
          },
          "currency": "string",
          "discountPercentage": "int",
          "lookbackPeriodInDays": "int",
          "percentile": "int",
          "strategy": "string",
          "targetLocation": "string"
        }
      }
    },
    "monitoring": {
      "enabled": "bool"
    },
    "serviceType": "string",
    "upgradeLockedUntil": "string",
    "version": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.AzureArcData/sqlServerInstances

Name Description Value
apiVersion The api version '2025-06-01-preview'
location The geo-location where the resource lives string (required)
name The resource name string (required)
properties null SqlServerInstanceProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.AzureArcData/sqlServerInstances'

Authentication

Name Description Value
mode Mode of authentication in SqlServer. 'Mixed'
'Undefined'
'Windows'
sqlServerEntraIdentity Entra Authentication configuration for the SQL Server Instance. EntraAuthentication[]

BackupPolicy

Name Description Value
differentialBackupHours The differential backup interval in hours. int
fullBackupDays The value indicating days between full backups. int

Constraints:
Min value = 0
Max value = 7
retentionPeriodDays The retention period for all the databases in this managed instance. int

Constraints:
Min value = 0
Max value = 35
transactionLogBackupMinutes The value indicating minutes between transaction log backups. int

Constraints:
Min value = 0
Max value = 60

BestPracticesAssessment

Name Description Value
enabled Indicates if SQL best practices assessment is enabled for the SQL Server instance. bool
schedule The scheduling configuration. Schedule

ClientConnection

Name Description Value
enabled Indicates if client connection is enabled for this SQL Server instance. bool

CostOptionSelectedValues

Name Description Value
computeAndStorageCostOption selected cost saving option e.g. With1YearASPAndDevTest. string
sqlLicenseCostOption With Azure Hybrid Benefit(AHB) or not for SQL. string
windowsLicenseCostOption With Azure Hybrid Benefit(AHB) or not for Windows. string

CronTrigger

Name Description Value
expression A cron string representing a CronTab expression. A crontab expression is a very compact way to express a recurring schedule with the following format: '{minutes} {hours} {days} {months} {days-of-week}'. string
startTime Indicates the start time for the trigger. The default value is the time at which the trigger was created. string
timeZone The time zone in which the trigger is scheduled. string

DBMEndpoint

Name Description Value

EntraAuthentication

Name Description Value
clientId The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. string
identityType The method used for Entra authentication 'SystemAssignedManagedIdentity'
'UserAssignedManagedIdentity'

FailoverCluster

Name Description Value

ImpactedObjectsSuitabilitySummary

Name Description Value

Migration

Name Description Value
assessment Migration assessments related configuration. MigrationAssessment

MigrationAssessment

Name Description Value
enabled Indicates if migration assessment is enabled for this SQL Server instance. bool
impactedObjectsSummary Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB and SQL MI targets ImpactedObjectsSuitabilitySummary
settings Settings impacting the migration assessment computation - configurable with some default values if not set. MigrationAssessmentSettings

MigrationAssessmentSettings

Name Description Value
costOptions Selected cost option value. CostOptionSelectedValues
currency currency to calculate prices - default USD. string
discountPercentage flat discount percentage to apply for the price - default 0 int
lookbackPeriodInDays How far back to check the performance data - default is 30 (days). int
percentile Indicate the percentile value for the performance sample. (Default is 95th percentile) int
strategy Minimize cost or Migrate to PaaS. - to evaluate based on the recommended strategy string
targetLocation The target location for Azure SQL SKU for migration. - default West US string

Monitoring

Name Description Value
enabled Indicates if monitoring is enabled for this SQL Server instance. bool

Schedule

Name Description Value
cronTrigger The cron trigger configuration. CronTrigger
enabled Indicates whether scheduling is enabled. bool

SqlServerInstanceProperties

Name Description Value
authentication Authentication related configuration for the SQL Server Instance. Authentication
backupPolicy The backup profile for the SQL server. BackupPolicy
bestPracticesAssessment The configuration related to SQL best practices assessment. BestPracticesAssessment
clientConnection Client connection related configuration. ClientConnection
cores The number of total cores of the Operating System Environment (OSE) hosting the SQL Server instance. string
databaseMirroringEndpoint Database mirroring endpoint related properties. DBMEndpoint
edition SQL Server edition. 'Business Intelligence'
'Developer'
'Enterprise'
'Evaluation'
'Express'
'Standard Developer'
'Standard'
'Web'
failoverCluster Failover Cluster Instance properties. FailoverCluster
hostType Type of host for Azure Arc SQL Server 'AWS Kubernetes Service'
'AWS Virtual Machine'
'AWS VMWare Virtual Machine'
'Azure Kubernetes Service'
'Azure Virtual Machine'
'Azure VMWare Virtual Machine'
'Container'
'GCP Kubernetes Service'
'GCP Virtual Machine'
'GCP VMWare Virtual Machine'
'Other'
'Physical Server'
'Virtual Machine'
instanceName SQL Server instance name. string
migration Migration related configuration. Migration
monitoring The monitoring configuration. Monitoring
serviceType Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host. 'Engine'
'PBIRS'
'SSAS'
'SSIS'
'SSRS'
upgradeLockedUntil Upgrade Action for this resource is locked until it expires. The Expiration time indicated by this value. It is not locked when it is empty. string
version SQL Server version. 'SQL Server 2012'
'SQL Server 2014'
'SQL Server 2016'
'SQL Server 2017'
'SQL Server 2019'
'SQL Server 2022'
'SQL Server 2025'
'Unknown'

TrackedResourceTags

Name Description Value

Usage Examples

Terraform (AzAPI provider) resource definition

The sqlServerInstances resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.AzureArcData/sqlServerInstances resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AzureArcData/sqlServerInstances@2025-06-01-preview"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      authentication = {
        mode = "string"
        sqlServerEntraIdentity = [
          {
            clientId = "string"
            identityType = "string"
          }
        ]
      }
      backupPolicy = {
        differentialBackupHours = int
        fullBackupDays = int
        retentionPeriodDays = int
        transactionLogBackupMinutes = int
      }
      bestPracticesAssessment = {
        enabled = bool
        schedule = {
          cronTrigger = {
            expression = "string"
            startTime = "string"
            timeZone = "string"
          }
          enabled = bool
        }
      }
      clientConnection = {
        enabled = bool
      }
      cores = "string"
      databaseMirroringEndpoint = {
      }
      edition = "string"
      failoverCluster = {
      }
      hostType = "string"
      instanceName = "string"
      migration = {
        assessment = {
          enabled = bool
          impactedObjectsSummary = {
          }
          settings = {
            costOptions = {
              computeAndStorageCostOption = "string"
              sqlLicenseCostOption = "string"
              windowsLicenseCostOption = "string"
            }
            currency = "string"
            discountPercentage = int
            lookbackPeriodInDays = int
            percentile = int
            strategy = "string"
            targetLocation = "string"
          }
        }
      }
      monitoring = {
        enabled = bool
      }
      serviceType = "string"
      upgradeLockedUntil = "string"
      version = "string"
    }
  }
}

Property Values

Microsoft.AzureArcData/sqlServerInstances

Name Description Value
location The geo-location where the resource lives string (required)
name The resource name string (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties null SqlServerInstanceProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.AzureArcData/sqlServerInstances@2025-06-01-preview"

Authentication

Name Description Value
mode Mode of authentication in SqlServer. 'Mixed'
'Undefined'
'Windows'
sqlServerEntraIdentity Entra Authentication configuration for the SQL Server Instance. EntraAuthentication[]

BackupPolicy

Name Description Value
differentialBackupHours The differential backup interval in hours. int
fullBackupDays The value indicating days between full backups. int

Constraints:
Min value = 0
Max value = 7
retentionPeriodDays The retention period for all the databases in this managed instance. int

Constraints:
Min value = 0
Max value = 35
transactionLogBackupMinutes The value indicating minutes between transaction log backups. int

Constraints:
Min value = 0
Max value = 60

BestPracticesAssessment

Name Description Value
enabled Indicates if SQL best practices assessment is enabled for the SQL Server instance. bool
schedule The scheduling configuration. Schedule

ClientConnection

Name Description Value
enabled Indicates if client connection is enabled for this SQL Server instance. bool

CostOptionSelectedValues

Name Description Value
computeAndStorageCostOption selected cost saving option e.g. With1YearASPAndDevTest. string
sqlLicenseCostOption With Azure Hybrid Benefit(AHB) or not for SQL. string
windowsLicenseCostOption With Azure Hybrid Benefit(AHB) or not for Windows. string

CronTrigger

Name Description Value
expression A cron string representing a CronTab expression. A crontab expression is a very compact way to express a recurring schedule with the following format: '{minutes} {hours} {days} {months} {days-of-week}'. string
startTime Indicates the start time for the trigger. The default value is the time at which the trigger was created. string
timeZone The time zone in which the trigger is scheduled. string

DBMEndpoint

Name Description Value

EntraAuthentication

Name Description Value
clientId The client Id of the Managed Identity to query Microsoft Graph API. An empty string must be used for the system assigned Managed Identity. string
identityType The method used for Entra authentication 'SystemAssignedManagedIdentity'
'UserAssignedManagedIdentity'

FailoverCluster

Name Description Value

ImpactedObjectsSuitabilitySummary

Name Description Value

Migration

Name Description Value
assessment Migration assessments related configuration. MigrationAssessment

MigrationAssessment

Name Description Value
enabled Indicates if migration assessment is enabled for this SQL Server instance. bool
impactedObjectsSummary Represents a summary of migration readiness issues/warnings per feature type for Azure SQL DB and SQL MI targets ImpactedObjectsSuitabilitySummary
settings Settings impacting the migration assessment computation - configurable with some default values if not set. MigrationAssessmentSettings

MigrationAssessmentSettings

Name Description Value
costOptions Selected cost option value. CostOptionSelectedValues
currency currency to calculate prices - default USD. string
discountPercentage flat discount percentage to apply for the price - default 0 int
lookbackPeriodInDays How far back to check the performance data - default is 30 (days). int
percentile Indicate the percentile value for the performance sample. (Default is 95th percentile) int
strategy Minimize cost or Migrate to PaaS. - to evaluate based on the recommended strategy string
targetLocation The target location for Azure SQL SKU for migration. - default West US string

Monitoring

Name Description Value
enabled Indicates if monitoring is enabled for this SQL Server instance. bool

Schedule

Name Description Value
cronTrigger The cron trigger configuration. CronTrigger
enabled Indicates whether scheduling is enabled. bool

SqlServerInstanceProperties

Name Description Value
authentication Authentication related configuration for the SQL Server Instance. Authentication
backupPolicy The backup profile for the SQL server. BackupPolicy
bestPracticesAssessment The configuration related to SQL best practices assessment. BestPracticesAssessment
clientConnection Client connection related configuration. ClientConnection
cores The number of total cores of the Operating System Environment (OSE) hosting the SQL Server instance. string
databaseMirroringEndpoint Database mirroring endpoint related properties. DBMEndpoint
edition SQL Server edition. 'Business Intelligence'
'Developer'
'Enterprise'
'Evaluation'
'Express'
'Standard Developer'
'Standard'
'Web'
failoverCluster Failover Cluster Instance properties. FailoverCluster
hostType Type of host for Azure Arc SQL Server 'AWS Kubernetes Service'
'AWS Virtual Machine'
'AWS VMWare Virtual Machine'
'Azure Kubernetes Service'
'Azure Virtual Machine'
'Azure VMWare Virtual Machine'
'Container'
'GCP Kubernetes Service'
'GCP Virtual Machine'
'GCP VMWare Virtual Machine'
'Other'
'Physical Server'
'Virtual Machine'
instanceName SQL Server instance name. string
migration Migration related configuration. Migration
monitoring The monitoring configuration. Monitoring
serviceType Indicates if the resource represents a SQL Server engine or a SQL Server component service installed on the host. 'Engine'
'PBIRS'
'SSAS'
'SSIS'
'SSRS'
upgradeLockedUntil Upgrade Action for this resource is locked until it expires. The Expiration time indicated by this value. It is not locked when it is empty. string
version SQL Server version. 'SQL Server 2012'
'SQL Server 2014'
'SQL Server 2016'
'SQL Server 2017'
'SQL Server 2019'
'SQL Server 2022'
'SQL Server 2025'
'Unknown'

TrackedResourceTags

Name Description Value