Microsoft.DataMigration services/projects/tasks 2017-11-15-preview

The services/projects/tasks resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.

Template format

To create a Microsoft.DataMigration/services/projects/tasks resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.DataMigration/services/projects/tasks@2017-11-15-preview' = {
  name: 'string'
  etag: 'string'
  properties: {
    taskType: 'string'
    // For remaining properties, see ProjectTaskProperties objects
  }
}

ProjectTaskProperties objects

Set the taskType property to specify the type of object.

For ConnectToSource.SqlServer, use:

  taskType: 'ConnectToSource.SqlServer'
  input: {
    checkPermissionsGroup: 'string'
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }

For ConnectToTarget.SqlDb, use:

  taskType: 'ConnectToTarget.SqlDb'
  input: {
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
  }

For GetUserTables.Sql, use:

  taskType: 'GetUserTables.Sql'
  input: {
    connectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    selectedDatabases: [ 'string' ]
  }

For Migrate.SqlServer.SqlDb, use:

  taskType: 'Migrate.SqlServer.SqlDb'
  input: {
    selectedDatabases: [
      {
        name: 'string'
        tableMap: {}
        targetDatabaseName: 'string'
      }
    ]
    sourceConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    targetConnectionInfo: {
      additionalSettings: 'string'
      authentication: 'string'
      dataSource: 'string'
      encryptConnection: bool
      password: 'string'
      trustServerCertificate: bool
      type: 'string'
      userName: 'string'
    }
    validationOptions: {
      enableDataIntegrityValidation: bool
      enableQueryAnalysisValidation: bool
      enableSchemaValidation: bool
    }
  }

Property values

services/projects/tasks

Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
'Microsoft.DataMigration/services/projects/tasks'
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
'2017-11-15-preview'
name The resource name

See how to set names and types for child resources in Bicep or JSON ARM templates.
string (required)
etag HTTP strong entity tag value. This is ignored if submitted. string
properties Base class for all types of DMS task properties. If task is not supported by current client, this object is returned. ProjectTaskProperties

ProjectTaskProperties

Name Description Value
taskType Set the object type ConnectToSource.SqlServer
ConnectToTarget.SqlDb
GetUserTables.Sql
Migrate.SqlServer.SqlDb

ConnectToSourceSqlServerTaskProperties

Name Description Value
taskType Task type. 'ConnectToSource.SqlServer'
input Input for the task that validates connection to SQL Server and also validates source server requirements ConnectToSourceSqlServerTaskInput

ConnectToSourceSqlServerTaskInput

Name Description Value
checkPermissionsGroup Permission group for validations. These groups will run a set of permissions for validating user activity. Select the permission group for the activity that you are performing. 'Default'
'MigrationFromSqlServerToAzureDB'
sourceConnectionInfo Information for connecting to SQL database server SqlConnectionInfo (required)

SqlConnectionInfo

Name Description Value
additionalSettings Additional connection settings string
authentication An enumeration of possible authentication types when connecting 'ActiveDirectoryIntegrated'
'ActiveDirectoryPassword'
'None'
'SqlAuthentication'
'WindowsAuthentication'
dataSource Data source in the format Protocol:MachineName\SQLServerInstanceName,PortNumber string (required)
encryptConnection Whether to encrypt the connection bool
password Password credential. string
trustServerCertificate Whether to trust the server certificate bool
type Type of connection info string (required)
userName User name string

ConnectToTargetSqlDbTaskProperties

Name Description Value
taskType Task type. 'ConnectToTarget.SqlDb'
input Input for the task that validates connection to SQL DB and target server requirements ConnectToTargetSqlDbTaskInput

ConnectToTargetSqlDbTaskInput

Name Description Value
targetConnectionInfo Information for connecting to SQL database server SqlConnectionInfo (required)

GetUserTablesSqlTaskProperties

Name Description Value
taskType Task type. 'GetUserTables.Sql'
input Input for the task that collects user tables for the given list of databases GetUserTablesSqlTaskInput

GetUserTablesSqlTaskInput

Name Description Value
connectionInfo Information for connecting to SQL database server SqlConnectionInfo (required)
selectedDatabases List of database names to collect tables for string[] (required)

MigrateSqlServerSqlDbTaskProperties

Name Description Value
taskType Task type. 'Migrate.SqlServer.SqlDb'
input Input for the task that migrates on-prem SQL Server databases to Azure SQL Database MigrateSqlServerSqlDbTaskInput

MigrateSqlServerSqlDbTaskInput

Name Description Value
selectedDatabases Databases to migrate MigrateSqlServerSqlDbDatabaseInput[] (required)
sourceConnectionInfo Information for connecting to SQL database server SqlConnectionInfo (required)
targetConnectionInfo Information for connecting to SQL database server SqlConnectionInfo (required)
validationOptions Types of validations to run after the migration MigrationValidationOptions

MigrateSqlServerSqlDbDatabaseInput

Name Description Value
name Name of the database string
tableMap Mapping of source to target tables object
targetDatabaseName Name of target database. Note: Target database will be truncated before starting migration. string

MigrationValidationOptions

Name Description Value
enableDataIntegrityValidation Allows to perform a checksum based data integrity validation between source and target for the selected database / tables . bool
enableQueryAnalysisValidation Allows to perform a quick and intelligent query analysis by retrieving queries from the source database and executes them in the target. The result will have execution statistics for executions in source and target databases for the extracted queries. bool
enableSchemaValidation Allows to compare the schema information between source and target. bool