Bicep resource definition
The services/projects/tasks resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DataMigration/services/projects/tasks resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview' = {
parent: resourceSymbolicName
etag: 'string'
name: 'string'
properties: {
clientData: {
{customized property}: 'string'
}
taskType: 'string'
// For remaining properties, see ProjectTaskProperties objects
}
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
{
input: {
additionalSettings: 'string'
authentication: 'string'
connectionString: 'string'
dataSource: 'string'
encryptConnection: bool
enforceSSL: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
taskType: 'Connect.MongoDb'
}
For ConnectToSource.MySql, use:
{
input: {
checkPermissionsGroup: 'string'
isOfflineMigration: bool
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
targetPlatform: 'string'
}
taskType: 'ConnectToSource.MySql'
}
For ConnectToSource.Oracle.Sync, use:
{
input: {
sourceConnectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToSource.Oracle.Sync'
}
For ConnectToSource.PostgreSql.Sync, use:
{
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToSource.PostgreSql.Sync'
}
For ConnectToSource.SqlServer, use:
{
input: {
checkPermissionsGroup: 'string'
collectAgentJobs: bool
collectDatabases: bool
collectLogins: bool
collectTdeCertificateInfo: bool
encryptedKeyForSecureFields: 'string'
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
taskId: 'string'
taskType: 'ConnectToSource.SqlServer'
}
For ConnectToSource.SqlServer.Sync, use:
{
input: {
checkPermissionsGroup: 'string'
collectAgentJobs: bool
collectDatabases: bool
collectLogins: bool
collectTdeCertificateInfo: bool
encryptedKeyForSecureFields: 'string'
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
taskType: 'ConnectToSource.SqlServer.Sync'
}
For ConnectToTarget.AzureDbForMySql, use:
{
input: {
isOfflineMigration: bool
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.AzureDbForMySql'
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
{
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.AzureDbForPostgreSql.Sync'
}
For ConnectToTarget.AzureSqlDbMI, use:
{
input: {
collectAgentJobs: bool
collectLogins: bool
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
taskType: 'ConnectToTarget.AzureSqlDbMI'
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
{
input: {
azureApp: {
appKey: 'string'
applicationId: 'string'
ignoreAzurePermissions: bool
tenantId: 'string'
}
targetConnectionInfo: {
managedInstanceResourceId: 'string'
password: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
{
input: {
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
}
For ConnectToTarget.SqlDb, use:
{
createdOn: 'string'
input: {
queryObjectCounts: bool
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.SqlDb'
}
For ConnectToTarget.SqlDb.Sync, use:
{
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ConnectToTarget.SqlDb.Sync'
}
For GetTDECertificates.Sql, use:
{
input: {
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
selectedCertificates: [
{
certificateName: 'string'
password: 'string'
}
]
}
taskType: 'GetTDECertificates.Sql'
}
For GetUserTables.AzureSqlDb.Sync, use:
{
input: {
selectedSourceDatabases: [
'string'
]
selectedTargetDatabases: [
'string'
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'GetUserTables.AzureSqlDb.Sync'
}
For GetUserTables.Sql, use:
{
input: {
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
'string'
]
}
taskId: 'string'
taskType: 'GetUserTables.Sql'
}
For GetUserTablesMySql, use:
{
input: {
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
selectedDatabases: [
'string'
]
}
taskType: 'GetUserTablesMySql'
}
For GetUserTablesOracle, use:
{
input: {
connectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
selectedSchemas: [
'string'
]
}
taskType: 'GetUserTablesOracle'
}
For GetUserTablesPostgreSql, use:
{
input: {
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
selectedDatabases: [
'string'
]
}
taskType: 'GetUserTablesPostgreSql'
}
For Migrate.MongoDb, use:
{
input: {
boostRUs: int
databases: {
{customized property}: {
collections: {
{customized property}: {
canDelete: bool
shardKey: {
fields: [
{
name: 'string'
order: 'string'
}
]
isUnique: bool
}
targetRUs: int
}
}
targetRUs: int
}
}
replication: 'string'
source: {
additionalSettings: 'string'
authentication: 'string'
connectionString: 'string'
dataSource: 'string'
encryptConnection: bool
enforceSSL: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
target: {
additionalSettings: 'string'
authentication: 'string'
connectionString: 'string'
dataSource: 'string'
encryptConnection: bool
enforceSSL: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
throttling: {
maxParallelism: int
minFreeCpu: int
minFreeMemoryMb: int
}
}
taskType: 'Migrate.MongoDb'
}
For Migrate.MySql.AzureDbForMySql, use:
{
input: {
encryptedKeyForSecureFields: 'string'
makeSourceServerReadOnly: bool
optionalAgentSettings: {
{customized property}: 'string'
}
selectedDatabases: [
{
name: 'string'
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
startedOn: 'string'
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
}
isCloneable: bool
taskId: 'string'
taskType: 'Migrate.MySql.AzureDbForMySql'
}
For Migrate.MySql.AzureDbForMySql.Sync, use:
{
input: {
selectedDatabases: [
{
migrationSetting: {
{customized property}: 'string'
}
name: 'string'
sourceSetting: {
{customized property}: 'string'
}
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'Migrate.MySql.AzureDbForMySql.Sync'
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
{
input: {
selectedDatabases: [
{
caseManipulation: 'string'
migrationSetting: {
{customized property}: 'string'
}
name: 'string'
schemaName: 'string'
sourceSetting: {
{customized property}: 'string'
}
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'Migrate.Oracle.AzureDbForPostgreSql.Sync'
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
{
createdOn: 'string'
input: {
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
{
migrationSetting: {
{customized property}: any(...)
}
name: 'string'
selectedTables: [
{
name: 'string'
}
]
sourceSetting: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
isCloneable: bool
taskId: 'string'
taskType: 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
}
For Migrate.SqlServer.AzureSqlDb.Sync, use:
{
input: {
selectedDatabases: [
{
id: 'string'
migrationSetting: {
{customized property}: 'string'
}
name: 'string'
schemaName: 'string'
sourceSetting: {
{customized property}: 'string'
}
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validationOptions: {
enableDataIntegrityValidation: bool
enableQueryAnalysisValidation: bool
enableSchemaValidation: bool
}
}
taskType: 'Migrate.SqlServer.AzureSqlDb.Sync'
}
For Migrate.SqlServer.AzureSqlDbMI, use:
{
createdOn: 'string'
input: {
aadDomainName: 'string'
backupBlobShare: {
sasUri: 'string'
}
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
backupMode: 'string'
encryptedKeyForSecureFields: 'string'
selectedAgentJobs: [
'string'
]
selectedDatabases: [
{
backupFilePaths: [
'string'
]
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
id: 'string'
name: 'string'
restoreDatabaseName: 'string'
}
]
selectedLogins: [
'string'
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
startedOn: 'string'
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
isCloneable: bool
parentTaskId: 'string'
taskId: 'string'
taskType: 'Migrate.SqlServer.AzureSqlDbMI'
}
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
createdOn: 'string'
input: {
azureApp: {
appKey: 'string'
applicationId: 'string'
ignoreAzurePermissions: bool
tenantId: 'string'
}
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
numberOfParallelDatabaseMigrations: int
selectedDatabases: [
{
backupFilePaths: [
'string'
]
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
id: 'string'
name: 'string'
restoreDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
storageResourceId: 'string'
targetConnectionInfo: {
managedInstanceResourceId: 'string'
password: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
}
For Migrate.SqlServer.SqlDb, use:
{
createdOn: 'string'
input: {
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
{
id: 'string'
makeSourceDbReadOnly: bool
name: 'string'
schemaSetting: any(...)
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
startedOn: 'string'
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validationOptions: {
enableDataIntegrityValidation: bool
enableQueryAnalysisValidation: bool
enableSchemaValidation: bool
}
}
isCloneable: bool
taskId: 'string'
taskType: 'Migrate.SqlServer.SqlDb'
}
For Migrate.Ssis, use:
{
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
ssisMigrationInfo: {
environmentOverwriteOption: 'string'
projectOverwriteOption: 'string'
ssisStoreType: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'Migrate.Ssis'
}
For MigrateSchemaSqlServerSqlDb, use:
{
createdOn: 'string'
input: {
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
{
id: 'string'
name: 'string'
schemaSetting: {
fileId: 'string'
fileName: 'string'
schemaOption: 'string'
}
targetDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
startedOn: 'string'
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
isCloneable: bool
taskId: 'string'
taskType: 'MigrateSchemaSqlServerSqlDb'
}
For Service.Check.OCI, use:
{
input: {
serverVersion: 'string'
}
taskType: 'Service.Check.OCI'
}
For Service.Install.OCI, use:
{
input: {
driverPackageName: 'string'
}
taskType: 'Service.Install.OCI'
}
For Service.Upload.OCI, use:
{
input: {
driverShare: {
password: 'string'
path: 'string'
userName: 'string'
}
}
taskType: 'Service.Upload.OCI'
}
For Validate.MongoDb, use:
{
input: {
boostRUs: int
databases: {
{customized property}: {
collections: {
{customized property}: {
canDelete: bool
shardKey: {
fields: [
{
name: 'string'
order: 'string'
}
]
isUnique: bool
}
targetRUs: int
}
}
targetRUs: int
}
}
replication: 'string'
source: {
additionalSettings: 'string'
authentication: 'string'
connectionString: 'string'
dataSource: 'string'
encryptConnection: bool
enforceSSL: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
target: {
additionalSettings: 'string'
authentication: 'string'
connectionString: 'string'
dataSource: 'string'
encryptConnection: bool
enforceSSL: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
throttling: {
maxParallelism: int
minFreeCpu: int
minFreeMemoryMb: int
}
}
taskType: 'Validate.MongoDb'
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
{
input: {
selectedDatabases: [
{
caseManipulation: 'string'
migrationSetting: {
{customized property}: 'string'
}
name: 'string'
schemaName: 'string'
sourceSetting: {
{customized property}: 'string'
}
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
databaseName: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'Validate.Oracle.AzureDbPostgreSql.Sync'
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
{
input: {
backupBlobShare: {
sasUri: 'string'
}
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
backupMode: 'string'
selectedDatabases: [
{
backupFilePaths: [
'string'
]
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
id: 'string'
name: 'string'
restoreDatabaseName: 'string'
}
]
selectedLogins: [
'string'
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
input: {
azureApp: {
appKey: 'string'
applicationId: 'string'
ignoreAzurePermissions: bool
tenantId: 'string'
}
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
selectedDatabases: [
{
backupFilePaths: [
'string'
]
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
id: 'string'
name: 'string'
restoreDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
storageResourceId: 'string'
targetConnectionInfo: {
managedInstanceResourceId: 'string'
password: 'string'
type: 'string'
userName: 'string'
}
}
taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
{
input: {
selectedDatabases: [
{
id: 'string'
migrationSetting: {
{customized property}: 'string'
}
name: 'string'
schemaName: 'string'
sourceSetting: {
{customized property}: 'string'
}
tableMap: {
{customized property}: 'string'
}
targetDatabaseName: 'string'
targetSetting: {
{customized property}: 'string'
}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'string'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
taskType: 'ValidateMigrationInput.SqlServer.SqlDb.Sync'
}
Property Values
Microsoft.DataMigration/services/projects/tasks
Name |
Description |
Value |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
name |
The resource name |
string (required) |
parent |
In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.
For more information, see Child resource outside parent resource. |
Symbolic name for resource of type: services/projects |
properties |
Custom task properties |
ProjectTaskProperties |
AzureActiveDirectoryApp
Name |
Description |
Value |
appKey |
Key used to authenticate to the Azure Active Directory Application |
string |
applicationId |
Application ID of the Azure Active Directory Application |
string |
ignoreAzurePermissions |
Ignore checking azure permissions on the AAD app |
bool |
tenantId |
Tenant id of the customer |
string |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
taskType |
Task type. |
'Service.Check.OCI' (required) |
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
taskType |
Task type. |
'Connect.MongoDb' (required) |
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Information for connecting to MySQL source |
MySqlConnectionInfo (required) |
targetPlatform |
Target Platform for the migration |
'AzureDbForMySQL' 'SqlServer' |
ConnectToSourceMySqlTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
ConnectToSourceOracleSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourceSqlServerSyncTaskProperties
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
collectAgentJobs |
Flag for whether to collect agent jobs from source server. |
bool |
collectDatabases |
Flag for whether to collect databases from source server. |
bool |
collectLogins |
Flag for whether to collect logins from source server. |
bool |
collectTdeCertificateInfo |
Flag for whether to collect TDE Certificate names from source server. |
bool |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
sourceConnectionInfo |
Connection information for Source SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the source server. |
bool |
ConnectToSourceSqlServerTaskProperties
Name |
Description |
Value |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Connection information for source MySQL server |
MySqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for MySQL server |
MySqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
queryObjectCounts |
Boolean flag indicating whether to query object counts for each database on the target server |
bool |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
taskType |
Task type. |
'ConnectToTarget.SqlDb' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
collectAgentJobs |
Flag for whether to collect agent jobs from target SQL MI server. |
bool |
collectLogins |
Flag for whether to collect logins from target SQL MI server. |
bool |
targetConnectionInfo |
Connection information for target SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. |
bool |
ConnectToTargetSqlMITaskProperties
FileShare
Name |
Description |
Value |
password |
Password credential used to connect to the share location. |
string |
path |
The folder path for this share. |
string (required) |
userName |
User name credential to connect to the share location |
string |
Name |
Description |
Value |
backupFileShare |
Backup file share information for file share to be used for temporarily storing files. |
FileShare (required) |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
selectedCertificates |
List containing certificate names and corresponding password to use for encrypting the exported certificate. |
SelectedCertificateInput[] (required) |
GetTdeCertificatesSqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesOracleTaskProperties
GetUserTablesPostgreSqlTaskInput
Name |
Description |
Value |
connectionInfo |
Information for connecting to PostgreSQL source |
PostgreSqlConnectionInfo (required) |
selectedDatabases |
List of PostgreSQL databases for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
Name |
Description |
Value |
selectedSourceDatabases |
List of source database names to collect tables for |
string[] (required) |
selectedTargetDatabases |
List of target database names to collect tables for |
string[] (required) |
sourceConnectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for SQL DB |
SqlConnectionInfo (required) |
GetUserTablesSqlSyncTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
taskType |
Task type. |
'GetUserTables.Sql' (required) |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
taskType |
Task type. |
'Service.Install.OCI' (required) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Migrate.MongoDb' (required) |
Name |
Description |
Value |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'Migrate.MySql.AzureDbForMySql' (required) |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required) |
Name |
Description |
Value |
id |
Id of the source database |
string |
name |
Name of source database |
string |
schemaSetting |
Database schema migration settings |
SchemaMigrationSetting |
targetDatabaseName |
Name of target database |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSchemaSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Migration start time |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSchemaSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'MigrateSchemaSqlServerSqlDb' (required) |
Name |
Description |
Value |
id |
id of the database |
string |
makeSourceDbReadOnly |
Whether to set database read only before migration |
bool |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
any |
tableMap |
Mapping of source to target tables |
MigrateSqlServerSqlDbDatabaseInputTableMap |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
validationOptions |
Options for enabling various post migration validations. Available options, 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database. |
MigrationValidationOptions |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.SqlDb' (required) |
Name |
Description |
Value |
backupFilePaths |
The list of backup files to be used in case of existing backups. |
string[] |
backupFileShare |
Backup file share information for backing up this database. |
FileShare |
id |
id of the database |
string |
name |
Name of the database |
string (required) |
restoreDatabaseName |
Name of the database at destination |
string (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
numberOfParallelDatabaseMigrations |
Number of database migrations to start in parallel |
int |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required) |
Name |
Description |
Value |
aadDomainName |
Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected |
string |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases. |
'CreateBackup' 'ExistingBackup' |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedAgentJobs |
Agent Jobs to migrate. |
string[] |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate. |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMITaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
parentTaskId |
parent task id |
string |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI' (required) |
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
ssisMigrationInfo |
SSIS package migration information. |
SsisMigrationInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSsisTaskProperties
Name |
Description |
Value |
input |
Task input |
MigrateSsisTaskInput |
taskType |
Task type. |
'Migrate.Ssis' (required) |
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 |
MiSqlConnectionInfo
Name |
Description |
Value |
managedInstanceResourceId |
Resource id for Azure SQL database Managed instance |
string (required) |
password |
Password credential. |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbCollectionSettings
Name |
Description |
Value |
canDelete |
Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. |
bool |
shardKey |
Describes a MongoDB shard key |
MongoDbShardKeySetting |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. |
int |
MongoDbConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
connectionString |
A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties |
string (required) |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
enforceSSL |
|
bool |
password |
Password credential. |
string |
port |
port for server |
int |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbDatabaseSettings
Name |
Description |
Value |
collections |
The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. |
MongoDbDatabaseSettingsCollections (required) |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets. |
int |
MongoDbDatabaseSettingsCollections
MongoDbMigrationSettings
Name |
Description |
Value |
boostRUs |
The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets. |
int |
databases |
The databases on the source cluster to migrate to the target. The keys are the names of the databases. |
MongoDbMigrationSettingsDatabases (required) |
replication |
Describes how changes will be replicated from the source to the target. The default is OneTime. |
'Continuous' 'Disabled' 'OneTime' |
source |
Settings used to connect to the source cluster |
MongoDbConnectionInfo (required) |
target |
Settings used to connect to the target cluster |
MongoDbConnectionInfo (required) |
throttling |
Settings used to limit the resource usage of the migration |
MongoDbThrottlingSettings |
MongoDbMigrationSettingsDatabases
MongoDbShardKeyField
Name |
Description |
Value |
name |
The name of the field |
string (required) |
order |
The field ordering |
'Forward' 'Hashed' 'Reverse' (required) |
MongoDbShardKeySetting
Name |
Description |
Value |
fields |
The fields within the shard key |
MongoDbShardKeyField[] (required) |
isUnique |
Whether the shard key is unique |
bool |
MongoDbThrottlingSettings
Name |
Description |
Value |
maxParallelism |
The maximum number of work items (e.g. collection copies) that will be processed in parallel |
int |
minFreeCpu |
The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 |
int |
minFreeMemoryMb |
The number of megabytes of RAM that the migrator will try to avoid using |
int |
MySqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverName |
Name of the server |
string (required) |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
OracleConnectionInfo
Name |
Description |
Value |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
EZConnect or TNSName connection string. |
string (required) |
password |
Password credential. |
string |
port |
port for server |
int |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
PostgreSqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
databaseName |
Name of the database |
string |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverBrandVersion |
server brand version |
string |
serverName |
Name of the server |
string (required) |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
ProjectTaskProperties
ProjectTaskPropertiesClientData
SchemaMigrationSetting
Name |
Description |
Value |
fileId |
Resource Identifier of a file resource containing the uploaded schema file |
string |
fileName |
Name of the file resource containing the uploaded schema file |
string |
schemaOption |
Option on how to migrate the schema |
'ExtractFromSource' 'None' 'UseStorageFile' |
Name |
Description |
Value |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
SqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'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 |
platform |
Server platform type for connection |
'SqlOnPrem' |
port |
Port for Server |
int |
resourceId |
Represents the ID of an HTTP resource represented by an Azure resource provider. |
string |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
SsisMigrationInfo
Name |
Description |
Value |
environmentOverwriteOption |
The overwrite option for the SSIS environment migration |
'Ignore' 'Overwrite' |
projectOverwriteOption |
The overwrite option for the SSIS project migration |
'Ignore' 'Overwrite' |
ssisStoreType |
The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) |
'SsisCatalog' |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
taskType |
Task type. |
'Service.Upload.OCI' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
Name |
Description |
Value |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. |
'CreateBackup' 'ExistingBackup' |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Validate.MongoDb' (required) |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
taskType |
Task type. |
'Validate.Oracle.AzureDbPostgreSql.Sync' (required) |
ARM template resource definition
The services/projects/tasks resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DataMigration/services/projects/tasks resource, add the following JSON to your template.
{
"type": "Microsoft.DataMigration/services/projects/tasks",
"apiVersion": "2025-03-15-preview",
"name": "string",
"etag": "string",
"properties": {
"clientData": {
"{customized property}": "string"
},
"taskType": "string"
// For remaining properties, see ProjectTaskProperties objects
}
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
{
"input": {
"additionalSettings": "string",
"authentication": "string",
"connectionString": "string",
"dataSource": "string",
"encryptConnection": "bool",
"enforceSSL": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"taskType": "Connect.MongoDb"
}
For ConnectToSource.MySql, use:
{
"input": {
"checkPermissionsGroup": "string",
"isOfflineMigration": "bool",
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"targetPlatform": "string"
},
"taskType": "ConnectToSource.MySql"
}
For ConnectToSource.Oracle.Sync, use:
{
"input": {
"sourceConnectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToSource.Oracle.Sync"
}
For ConnectToSource.PostgreSql.Sync, use:
{
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToSource.PostgreSql.Sync"
}
For ConnectToSource.SqlServer, use:
{
"input": {
"checkPermissionsGroup": "string",
"collectAgentJobs": "bool",
"collectDatabases": "bool",
"collectLogins": "bool",
"collectTdeCertificateInfo": "bool",
"encryptedKeyForSecureFields": "string",
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
},
"taskId": "string",
"taskType": "ConnectToSource.SqlServer"
}
For ConnectToSource.SqlServer.Sync, use:
{
"input": {
"checkPermissionsGroup": "string",
"collectAgentJobs": "bool",
"collectDatabases": "bool",
"collectLogins": "bool",
"collectTdeCertificateInfo": "bool",
"encryptedKeyForSecureFields": "string",
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
},
"taskType": "ConnectToSource.SqlServer.Sync"
}
For ConnectToTarget.AzureDbForMySql, use:
{
"input": {
"isOfflineMigration": "bool",
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.AzureDbForMySql"
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
{
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.AzureDbForPostgreSql.Sync"
}
For ConnectToTarget.AzureSqlDbMI, use:
{
"input": {
"collectAgentJobs": "bool",
"collectLogins": "bool",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
},
"taskType": "ConnectToTarget.AzureSqlDbMI"
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
{
"input": {
"azureApp": {
"appKey": "string",
"applicationId": "string",
"ignoreAzurePermissions": "bool",
"tenantId": "string"
},
"targetConnectionInfo": {
"managedInstanceResourceId": "string",
"password": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
{
"input": {
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
}
For ConnectToTarget.SqlDb, use:
{
"createdOn": "string",
"input": {
"queryObjectCounts": "bool",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.SqlDb"
}
For ConnectToTarget.SqlDb.Sync, use:
{
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ConnectToTarget.SqlDb.Sync"
}
For GetTDECertificates.Sql, use:
{
"input": {
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"selectedCertificates": [
{
"certificateName": "string",
"password": "string"
}
]
},
"taskType": "GetTDECertificates.Sql"
}
For GetUserTables.AzureSqlDb.Sync, use:
{
"input": {
"selectedSourceDatabases": [ "string" ],
"selectedTargetDatabases": [ "string" ],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "GetUserTables.AzureSqlDb.Sync"
}
For GetUserTables.Sql, use:
{
"input": {
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [ "string" ]
},
"taskId": "string",
"taskType": "GetUserTables.Sql"
}
For GetUserTablesMySql, use:
{
"input": {
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"selectedDatabases": [ "string" ]
},
"taskType": "GetUserTablesMySql"
}
For GetUserTablesOracle, use:
{
"input": {
"connectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
},
"selectedSchemas": [ "string" ]
},
"taskType": "GetUserTablesOracle"
}
For GetUserTablesPostgreSql, use:
{
"input": {
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"selectedDatabases": [ "string" ]
},
"taskType": "GetUserTablesPostgreSql"
}
For Migrate.MongoDb, use:
{
"input": {
"boostRUs": "int",
"databases": {
"{customized property}": {
"collections": {
"{customized property}": {
"canDelete": "bool",
"shardKey": {
"fields": [
{
"name": "string",
"order": "string"
}
],
"isUnique": "bool"
},
"targetRUs": "int"
}
},
"targetRUs": "int"
}
},
"replication": "string",
"source": {
"additionalSettings": "string",
"authentication": "string",
"connectionString": "string",
"dataSource": "string",
"encryptConnection": "bool",
"enforceSSL": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"target": {
"additionalSettings": "string",
"authentication": "string",
"connectionString": "string",
"dataSource": "string",
"encryptConnection": "bool",
"enforceSSL": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"throttling": {
"maxParallelism": "int",
"minFreeCpu": "int",
"minFreeMemoryMb": "int"
}
},
"taskType": "Migrate.MongoDb"
}
For Migrate.MySql.AzureDbForMySql, use:
{
"input": {
"encryptedKeyForSecureFields": "string",
"makeSourceServerReadOnly": "bool",
"optionalAgentSettings": {
"{customized property}": "string"
},
"selectedDatabases": [
{
"name": "string",
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"startedOn": "string",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"taskId": "string",
"taskType": "Migrate.MySql.AzureDbForMySql"
}
For Migrate.MySql.AzureDbForMySql.Sync, use:
{
"input": {
"selectedDatabases": [
{
"migrationSetting": {
"{customized property}": "string"
},
"name": "string",
"sourceSetting": {
"{customized property}": "string"
},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "Migrate.MySql.AzureDbForMySql.Sync"
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
{
"input": {
"selectedDatabases": [
{
"caseManipulation": "string",
"migrationSetting": {
"{customized property}": "string"
},
"name": "string",
"schemaName": "string",
"sourceSetting": {
"{customized property}": "string"
},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "Migrate.Oracle.AzureDbForPostgreSql.Sync"
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
{
"createdOn": "string",
"input": {
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [
{
"migrationSetting": {
"{customized property}": {}
},
"name": "string",
"selectedTables": [
{
"name": "string"
}
],
"sourceSetting": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"taskId": "string",
"taskType": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
}
For Migrate.SqlServer.AzureSqlDb.Sync, use:
{
"input": {
"selectedDatabases": [
{
"id": "string",
"migrationSetting": {
"{customized property}": "string"
},
"name": "string",
"schemaName": "string",
"sourceSetting": {
"{customized property}": "string"
},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validationOptions": {
"enableDataIntegrityValidation": "bool",
"enableQueryAnalysisValidation": "bool",
"enableSchemaValidation": "bool"
}
},
"taskType": "Migrate.SqlServer.AzureSqlDb.Sync"
}
For Migrate.SqlServer.AzureSqlDbMI, use:
{
"createdOn": "string",
"input": {
"aadDomainName": "string",
"backupBlobShare": {
"sasUri": "string"
},
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"backupMode": "string",
"encryptedKeyForSecureFields": "string",
"selectedAgentJobs": [ "string" ],
"selectedDatabases": [
{
"backupFilePaths": [ "string" ],
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"id": "string",
"name": "string",
"restoreDatabaseName": "string"
}
],
"selectedLogins": [ "string" ],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"startedOn": "string",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"parentTaskId": "string",
"taskId": "string",
"taskType": "Migrate.SqlServer.AzureSqlDbMI"
}
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
"createdOn": "string",
"input": {
"azureApp": {
"appKey": "string",
"applicationId": "string",
"ignoreAzurePermissions": "bool",
"tenantId": "string"
},
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"numberOfParallelDatabaseMigrations": "int",
"selectedDatabases": [
{
"backupFilePaths": [ "string" ],
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"id": "string",
"name": "string",
"restoreDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"storageResourceId": "string",
"targetConnectionInfo": {
"managedInstanceResourceId": "string",
"password": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
}
For Migrate.SqlServer.SqlDb, use:
{
"createdOn": "string",
"input": {
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [
{
"id": "string",
"makeSourceDbReadOnly": "bool",
"name": "string",
"schemaSetting": {},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"startedOn": "string",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validationOptions": {
"enableDataIntegrityValidation": "bool",
"enableQueryAnalysisValidation": "bool",
"enableSchemaValidation": "bool"
}
},
"isCloneable": "bool",
"taskId": "string",
"taskType": "Migrate.SqlServer.SqlDb"
}
For Migrate.Ssis, use:
{
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"ssisMigrationInfo": {
"environmentOverwriteOption": "string",
"projectOverwriteOption": "string",
"ssisStoreType": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "Migrate.Ssis"
}
For MigrateSchemaSqlServerSqlDb, use:
{
"createdOn": "string",
"input": {
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [
{
"id": "string",
"name": "string",
"schemaSetting": {
"fileId": "string",
"fileName": "string",
"schemaOption": "string"
},
"targetDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"startedOn": "string",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"taskId": "string",
"taskType": "MigrateSchemaSqlServerSqlDb"
}
For Service.Check.OCI, use:
{
"input": {
"serverVersion": "string"
},
"taskType": "Service.Check.OCI"
}
For Service.Install.OCI, use:
{
"input": {
"driverPackageName": "string"
},
"taskType": "Service.Install.OCI"
}
For Service.Upload.OCI, use:
{
"input": {
"driverShare": {
"password": "string",
"path": "string",
"userName": "string"
}
},
"taskType": "Service.Upload.OCI"
}
For Validate.MongoDb, use:
{
"input": {
"boostRUs": "int",
"databases": {
"{customized property}": {
"collections": {
"{customized property}": {
"canDelete": "bool",
"shardKey": {
"fields": [
{
"name": "string",
"order": "string"
}
],
"isUnique": "bool"
},
"targetRUs": "int"
}
},
"targetRUs": "int"
}
},
"replication": "string",
"source": {
"additionalSettings": "string",
"authentication": "string",
"connectionString": "string",
"dataSource": "string",
"encryptConnection": "bool",
"enforceSSL": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"target": {
"additionalSettings": "string",
"authentication": "string",
"connectionString": "string",
"dataSource": "string",
"encryptConnection": "bool",
"enforceSSL": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"throttling": {
"maxParallelism": "int",
"minFreeCpu": "int",
"minFreeMemoryMb": "int"
}
},
"taskType": "Validate.MongoDb"
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
{
"input": {
"selectedDatabases": [
{
"caseManipulation": "string",
"migrationSetting": {
"{customized property}": "string"
},
"name": "string",
"schemaName": "string",
"sourceSetting": {
"{customized property}": "string"
},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"databaseName": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "Validate.Oracle.AzureDbPostgreSql.Sync"
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
{
"input": {
"backupBlobShare": {
"sasUri": "string"
},
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"backupMode": "string",
"selectedDatabases": [
{
"backupFilePaths": [ "string" ],
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"id": "string",
"name": "string",
"restoreDatabaseName": "string"
}
],
"selectedLogins": [ "string" ],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
"input": {
"azureApp": {
"appKey": "string",
"applicationId": "string",
"ignoreAzurePermissions": "bool",
"tenantId": "string"
},
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"selectedDatabases": [
{
"backupFilePaths": [ "string" ],
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"id": "string",
"name": "string",
"restoreDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"storageResourceId": "string",
"targetConnectionInfo": {
"managedInstanceResourceId": "string",
"password": "string",
"type": "string",
"userName": "string"
}
},
"taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
{
"input": {
"selectedDatabases": [
{
"id": "string",
"migrationSetting": {
"{customized property}": "string"
},
"name": "string",
"schemaName": "string",
"sourceSetting": {
"{customized property}": "string"
},
"tableMap": {
"{customized property}": "string"
},
"targetDatabaseName": "string",
"targetSetting": {
"{customized property}": "string"
}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "string",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"taskType": "ValidateMigrationInput.SqlServer.SqlDb.Sync"
}
Property Values
Microsoft.DataMigration/services/projects/tasks
Name |
Description |
Value |
apiVersion |
The api version |
'2025-03-15-preview' |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
name |
The resource name |
string (required) |
properties |
Custom task properties |
ProjectTaskProperties |
type |
The resource type |
'Microsoft.DataMigration/services/projects/tasks' |
AzureActiveDirectoryApp
Name |
Description |
Value |
appKey |
Key used to authenticate to the Azure Active Directory Application |
string |
applicationId |
Application ID of the Azure Active Directory Application |
string |
ignoreAzurePermissions |
Ignore checking azure permissions on the AAD app |
bool |
tenantId |
Tenant id of the customer |
string |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
taskType |
Task type. |
'Service.Check.OCI' (required) |
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
taskType |
Task type. |
'Connect.MongoDb' (required) |
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Information for connecting to MySQL source |
MySqlConnectionInfo (required) |
targetPlatform |
Target Platform for the migration |
'AzureDbForMySQL' 'SqlServer' |
ConnectToSourceMySqlTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
ConnectToSourceOracleSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourceSqlServerSyncTaskProperties
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
collectAgentJobs |
Flag for whether to collect agent jobs from source server. |
bool |
collectDatabases |
Flag for whether to collect databases from source server. |
bool |
collectLogins |
Flag for whether to collect logins from source server. |
bool |
collectTdeCertificateInfo |
Flag for whether to collect TDE Certificate names from source server. |
bool |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
sourceConnectionInfo |
Connection information for Source SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the source server. |
bool |
ConnectToSourceSqlServerTaskProperties
Name |
Description |
Value |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Connection information for source MySQL server |
MySqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for MySQL server |
MySqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
queryObjectCounts |
Boolean flag indicating whether to query object counts for each database on the target server |
bool |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
taskType |
Task type. |
'ConnectToTarget.SqlDb' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
collectAgentJobs |
Flag for whether to collect agent jobs from target SQL MI server. |
bool |
collectLogins |
Flag for whether to collect logins from target SQL MI server. |
bool |
targetConnectionInfo |
Connection information for target SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. |
bool |
ConnectToTargetSqlMITaskProperties
FileShare
Name |
Description |
Value |
password |
Password credential used to connect to the share location. |
string |
path |
The folder path for this share. |
string (required) |
userName |
User name credential to connect to the share location |
string |
Name |
Description |
Value |
backupFileShare |
Backup file share information for file share to be used for temporarily storing files. |
FileShare (required) |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
selectedCertificates |
List containing certificate names and corresponding password to use for encrypting the exported certificate. |
SelectedCertificateInput[] (required) |
GetTdeCertificatesSqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesOracleTaskProperties
GetUserTablesPostgreSqlTaskInput
Name |
Description |
Value |
connectionInfo |
Information for connecting to PostgreSQL source |
PostgreSqlConnectionInfo (required) |
selectedDatabases |
List of PostgreSQL databases for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
Name |
Description |
Value |
selectedSourceDatabases |
List of source database names to collect tables for |
string[] (required) |
selectedTargetDatabases |
List of target database names to collect tables for |
string[] (required) |
sourceConnectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for SQL DB |
SqlConnectionInfo (required) |
GetUserTablesSqlSyncTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
taskType |
Task type. |
'GetUserTables.Sql' (required) |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
taskType |
Task type. |
'Service.Install.OCI' (required) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Migrate.MongoDb' (required) |
Name |
Description |
Value |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'Migrate.MySql.AzureDbForMySql' (required) |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required) |
Name |
Description |
Value |
id |
Id of the source database |
string |
name |
Name of source database |
string |
schemaSetting |
Database schema migration settings |
SchemaMigrationSetting |
targetDatabaseName |
Name of target database |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSchemaSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Migration start time |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSchemaSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'MigrateSchemaSqlServerSqlDb' (required) |
Name |
Description |
Value |
id |
id of the database |
string |
makeSourceDbReadOnly |
Whether to set database read only before migration |
bool |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
any |
tableMap |
Mapping of source to target tables |
MigrateSqlServerSqlDbDatabaseInputTableMap |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
validationOptions |
Options for enabling various post migration validations. Available options, 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database. |
MigrationValidationOptions |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.SqlDb' (required) |
Name |
Description |
Value |
backupFilePaths |
The list of backup files to be used in case of existing backups. |
string[] |
backupFileShare |
Backup file share information for backing up this database. |
FileShare |
id |
id of the database |
string |
name |
Name of the database |
string (required) |
restoreDatabaseName |
Name of the database at destination |
string (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
numberOfParallelDatabaseMigrations |
Number of database migrations to start in parallel |
int |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required) |
Name |
Description |
Value |
aadDomainName |
Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected |
string |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases. |
'CreateBackup' 'ExistingBackup' |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedAgentJobs |
Agent Jobs to migrate. |
string[] |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate. |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMITaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
parentTaskId |
parent task id |
string |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI' (required) |
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
ssisMigrationInfo |
SSIS package migration information. |
SsisMigrationInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSsisTaskProperties
Name |
Description |
Value |
input |
Task input |
MigrateSsisTaskInput |
taskType |
Task type. |
'Migrate.Ssis' (required) |
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 |
MiSqlConnectionInfo
Name |
Description |
Value |
managedInstanceResourceId |
Resource id for Azure SQL database Managed instance |
string (required) |
password |
Password credential. |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbCollectionSettings
Name |
Description |
Value |
canDelete |
Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. |
bool |
shardKey |
Describes a MongoDB shard key |
MongoDbShardKeySetting |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. |
int |
MongoDbConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
connectionString |
A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties |
string (required) |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
enforceSSL |
|
bool |
password |
Password credential. |
string |
port |
port for server |
int |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbDatabaseSettings
Name |
Description |
Value |
collections |
The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. |
MongoDbDatabaseSettingsCollections (required) |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets. |
int |
MongoDbDatabaseSettingsCollections
MongoDbMigrationSettings
Name |
Description |
Value |
boostRUs |
The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets. |
int |
databases |
The databases on the source cluster to migrate to the target. The keys are the names of the databases. |
MongoDbMigrationSettingsDatabases (required) |
replication |
Describes how changes will be replicated from the source to the target. The default is OneTime. |
'Continuous' 'Disabled' 'OneTime' |
source |
Settings used to connect to the source cluster |
MongoDbConnectionInfo (required) |
target |
Settings used to connect to the target cluster |
MongoDbConnectionInfo (required) |
throttling |
Settings used to limit the resource usage of the migration |
MongoDbThrottlingSettings |
MongoDbMigrationSettingsDatabases
MongoDbShardKeyField
Name |
Description |
Value |
name |
The name of the field |
string (required) |
order |
The field ordering |
'Forward' 'Hashed' 'Reverse' (required) |
MongoDbShardKeySetting
Name |
Description |
Value |
fields |
The fields within the shard key |
MongoDbShardKeyField[] (required) |
isUnique |
Whether the shard key is unique |
bool |
MongoDbThrottlingSettings
Name |
Description |
Value |
maxParallelism |
The maximum number of work items (e.g. collection copies) that will be processed in parallel |
int |
minFreeCpu |
The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 |
int |
minFreeMemoryMb |
The number of megabytes of RAM that the migrator will try to avoid using |
int |
MySqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverName |
Name of the server |
string (required) |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
OracleConnectionInfo
Name |
Description |
Value |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
EZConnect or TNSName connection string. |
string (required) |
password |
Password credential. |
string |
port |
port for server |
int |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
PostgreSqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
databaseName |
Name of the database |
string |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverBrandVersion |
server brand version |
string |
serverName |
Name of the server |
string (required) |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
ProjectTaskProperties
ProjectTaskPropertiesClientData
SchemaMigrationSetting
Name |
Description |
Value |
fileId |
Resource Identifier of a file resource containing the uploaded schema file |
string |
fileName |
Name of the file resource containing the uploaded schema file |
string |
schemaOption |
Option on how to migrate the schema |
'ExtractFromSource' 'None' 'UseStorageFile' |
Name |
Description |
Value |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
SqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'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 |
platform |
Server platform type for connection |
'SqlOnPrem' |
port |
Port for Server |
int |
resourceId |
Represents the ID of an HTTP resource represented by an Azure resource provider. |
string |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
SsisMigrationInfo
Name |
Description |
Value |
environmentOverwriteOption |
The overwrite option for the SSIS environment migration |
'Ignore' 'Overwrite' |
projectOverwriteOption |
The overwrite option for the SSIS project migration |
'Ignore' 'Overwrite' |
ssisStoreType |
The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) |
'SsisCatalog' |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
taskType |
Task type. |
'Service.Upload.OCI' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
Name |
Description |
Value |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. |
'CreateBackup' 'ExistingBackup' |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Validate.MongoDb' (required) |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
taskType |
Task type. |
'Validate.Oracle.AzureDbPostgreSql.Sync' (required) |
Usage Examples
The services/projects/tasks resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.DataMigration/services/projects/tasks resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview"
name = "string"
parent_id = "string"
body = {
etag = "string"
properties = {
clientData = {
{customized property} = "string"
}
taskType = "string"
// For remaining properties, see ProjectTaskProperties objects
}
}
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
{
input = {
additionalSettings = "string"
authentication = "string"
connectionString = "string"
dataSource = "string"
encryptConnection = bool
enforceSSL = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
taskType = "Connect.MongoDb"
}
For ConnectToSource.MySql, use:
{
input = {
checkPermissionsGroup = "string"
isOfflineMigration = bool
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
targetPlatform = "string"
}
taskType = "ConnectToSource.MySql"
}
For ConnectToSource.Oracle.Sync, use:
{
input = {
sourceConnectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
}
taskType = "ConnectToSource.Oracle.Sync"
}
For ConnectToSource.PostgreSql.Sync, use:
{
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ConnectToSource.PostgreSql.Sync"
}
For ConnectToSource.SqlServer, use:
{
input = {
checkPermissionsGroup = "string"
collectAgentJobs = bool
collectDatabases = bool
collectLogins = bool
collectTdeCertificateInfo = bool
encryptedKeyForSecureFields = "string"
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
taskId = "string"
taskType = "ConnectToSource.SqlServer"
}
For ConnectToSource.SqlServer.Sync, use:
{
input = {
checkPermissionsGroup = "string"
collectAgentJobs = bool
collectDatabases = bool
collectLogins = bool
collectTdeCertificateInfo = bool
encryptedKeyForSecureFields = "string"
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
taskType = "ConnectToSource.SqlServer.Sync"
}
For ConnectToTarget.AzureDbForMySql, use:
{
input = {
isOfflineMigration = bool
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.AzureDbForMySql"
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
{
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.AzureDbForPostgreSql.Sync"
}
For ConnectToTarget.AzureSqlDbMI, use:
{
input = {
collectAgentJobs = bool
collectLogins = bool
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
taskType = "ConnectToTarget.AzureSqlDbMI"
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
{
input = {
azureApp = {
appKey = "string"
applicationId = "string"
ignoreAzurePermissions = bool
tenantId = "string"
}
targetConnectionInfo = {
managedInstanceResourceId = "string"
password = "string"
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
{
input = {
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
}
For ConnectToTarget.SqlDb, use:
{
createdOn = "string"
input = {
queryObjectCounts = bool
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.SqlDb"
}
For ConnectToTarget.SqlDb.Sync, use:
{
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ConnectToTarget.SqlDb.Sync"
}
For GetTDECertificates.Sql, use:
{
input = {
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
selectedCertificates = [
{
certificateName = "string"
password = "string"
}
]
}
taskType = "GetTDECertificates.Sql"
}
For GetUserTables.AzureSqlDb.Sync, use:
{
input = {
selectedSourceDatabases = [
"string"
]
selectedTargetDatabases = [
"string"
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "GetUserTables.AzureSqlDb.Sync"
}
For GetUserTables.Sql, use:
{
input = {
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
encryptedKeyForSecureFields = "string"
selectedDatabases = [
"string"
]
}
taskId = "string"
taskType = "GetUserTables.Sql"
}
For GetUserTablesMySql, use:
{
input = {
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
selectedDatabases = [
"string"
]
}
taskType = "GetUserTablesMySql"
}
For GetUserTablesOracle, use:
{
input = {
connectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
selectedSchemas = [
"string"
]
}
taskType = "GetUserTablesOracle"
}
For GetUserTablesPostgreSql, use:
{
input = {
connectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
selectedDatabases = [
"string"
]
}
taskType = "GetUserTablesPostgreSql"
}
For Migrate.MongoDb, use:
{
input = {
boostRUs = int
databases = {
{customized property} = {
collections = {
{customized property} = {
canDelete = bool
shardKey = {
fields = [
{
name = "string"
order = "string"
}
]
isUnique = bool
}
targetRUs = int
}
}
targetRUs = int
}
}
replication = "string"
source = {
additionalSettings = "string"
authentication = "string"
connectionString = "string"
dataSource = "string"
encryptConnection = bool
enforceSSL = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
target = {
additionalSettings = "string"
authentication = "string"
connectionString = "string"
dataSource = "string"
encryptConnection = bool
enforceSSL = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
throttling = {
maxParallelism = int
minFreeCpu = int
minFreeMemoryMb = int
}
}
taskType = "Migrate.MongoDb"
}
For Migrate.MySql.AzureDbForMySql, use:
{
input = {
encryptedKeyForSecureFields = "string"
makeSourceServerReadOnly = bool
optionalAgentSettings = {
{customized property} = "string"
}
selectedDatabases = [
{
name = "string"
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
startedOn = "string"
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
}
isCloneable = bool
taskId = "string"
taskType = "Migrate.MySql.AzureDbForMySql"
}
For Migrate.MySql.AzureDbForMySql.Sync, use:
{
input = {
selectedDatabases = [
{
migrationSetting = {
{customized property} = "string"
}
name = "string"
sourceSetting = {
{customized property} = "string"
}
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
}
taskType = "Migrate.MySql.AzureDbForMySql.Sync"
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
{
input = {
selectedDatabases = [
{
caseManipulation = "string"
migrationSetting = {
{customized property} = "string"
}
name = "string"
schemaName = "string"
sourceSetting = {
{customized property} = "string"
}
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "Migrate.Oracle.AzureDbForPostgreSql.Sync"
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
{
createdOn = "string"
input = {
encryptedKeyForSecureFields = "string"
selectedDatabases = [
{
migrationSetting = {
{customized property} = ?
}
name = "string"
selectedTables = [
{
name = "string"
}
]
sourceSetting = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
isCloneable = bool
taskId = "string"
taskType = "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
}
For Migrate.SqlServer.AzureSqlDb.Sync, use:
{
input = {
selectedDatabases = [
{
id = "string"
migrationSetting = {
{customized property} = "string"
}
name = "string"
schemaName = "string"
sourceSetting = {
{customized property} = "string"
}
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validationOptions = {
enableDataIntegrityValidation = bool
enableQueryAnalysisValidation = bool
enableSchemaValidation = bool
}
}
taskType = "Migrate.SqlServer.AzureSqlDb.Sync"
}
For Migrate.SqlServer.AzureSqlDbMI, use:
{
createdOn = "string"
input = {
aadDomainName = "string"
backupBlobShare = {
sasUri = "string"
}
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
backupMode = "string"
encryptedKeyForSecureFields = "string"
selectedAgentJobs = [
"string"
]
selectedDatabases = [
{
backupFilePaths = [
"string"
]
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
id = "string"
name = "string"
restoreDatabaseName = "string"
}
]
selectedLogins = [
"string"
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
startedOn = "string"
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
isCloneable = bool
parentTaskId = "string"
taskId = "string"
taskType = "Migrate.SqlServer.AzureSqlDbMI"
}
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
createdOn = "string"
input = {
azureApp = {
appKey = "string"
applicationId = "string"
ignoreAzurePermissions = bool
tenantId = "string"
}
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
numberOfParallelDatabaseMigrations = int
selectedDatabases = [
{
backupFilePaths = [
"string"
]
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
id = "string"
name = "string"
restoreDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
storageResourceId = "string"
targetConnectionInfo = {
managedInstanceResourceId = "string"
password = "string"
type = "string"
userName = "string"
}
}
taskType = "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
}
For Migrate.SqlServer.SqlDb, use:
{
createdOn = "string"
input = {
encryptedKeyForSecureFields = "string"
selectedDatabases = [
{
id = "string"
makeSourceDbReadOnly = bool
name = "string"
schemaSetting = ?
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
startedOn = "string"
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validationOptions = {
enableDataIntegrityValidation = bool
enableQueryAnalysisValidation = bool
enableSchemaValidation = bool
}
}
isCloneable = bool
taskId = "string"
taskType = "Migrate.SqlServer.SqlDb"
}
For Migrate.Ssis, use:
{
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
ssisMigrationInfo = {
environmentOverwriteOption = "string"
projectOverwriteOption = "string"
ssisStoreType = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "Migrate.Ssis"
}
For MigrateSchemaSqlServerSqlDb, use:
{
createdOn = "string"
input = {
encryptedKeyForSecureFields = "string"
selectedDatabases = [
{
id = "string"
name = "string"
schemaSetting = {
fileId = "string"
fileName = "string"
schemaOption = "string"
}
targetDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
startedOn = "string"
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
isCloneable = bool
taskId = "string"
taskType = "MigrateSchemaSqlServerSqlDb"
}
For Service.Check.OCI, use:
{
input = {
serverVersion = "string"
}
taskType = "Service.Check.OCI"
}
For Service.Install.OCI, use:
{
input = {
driverPackageName = "string"
}
taskType = "Service.Install.OCI"
}
For Service.Upload.OCI, use:
{
input = {
driverShare = {
password = "string"
path = "string"
userName = "string"
}
}
taskType = "Service.Upload.OCI"
}
For Validate.MongoDb, use:
{
input = {
boostRUs = int
databases = {
{customized property} = {
collections = {
{customized property} = {
canDelete = bool
shardKey = {
fields = [
{
name = "string"
order = "string"
}
]
isUnique = bool
}
targetRUs = int
}
}
targetRUs = int
}
}
replication = "string"
source = {
additionalSettings = "string"
authentication = "string"
connectionString = "string"
dataSource = "string"
encryptConnection = bool
enforceSSL = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
target = {
additionalSettings = "string"
authentication = "string"
connectionString = "string"
dataSource = "string"
encryptConnection = bool
enforceSSL = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
throttling = {
maxParallelism = int
minFreeCpu = int
minFreeMemoryMb = int
}
}
taskType = "Validate.MongoDb"
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
{
input = {
selectedDatabases = [
{
caseManipulation = "string"
migrationSetting = {
{customized property} = "string"
}
name = "string"
schemaName = "string"
sourceSetting = {
{customized property} = "string"
}
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
databaseName = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "Validate.Oracle.AzureDbPostgreSql.Sync"
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
{
input = {
backupBlobShare = {
sasUri = "string"
}
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
backupMode = "string"
selectedDatabases = [
{
backupFilePaths = [
"string"
]
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
id = "string"
name = "string"
restoreDatabaseName = "string"
}
]
selectedLogins = [
"string"
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
{
input = {
azureApp = {
appKey = "string"
applicationId = "string"
ignoreAzurePermissions = bool
tenantId = "string"
}
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
selectedDatabases = [
{
backupFilePaths = [
"string"
]
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
id = "string"
name = "string"
restoreDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
storageResourceId = "string"
targetConnectionInfo = {
managedInstanceResourceId = "string"
password = "string"
type = "string"
userName = "string"
}
}
taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
{
input = {
selectedDatabases = [
{
id = "string"
migrationSetting = {
{customized property} = "string"
}
name = "string"
schemaName = "string"
sourceSetting = {
{customized property} = "string"
}
tableMap = {
{customized property} = "string"
}
targetDatabaseName = "string"
targetSetting = {
{customized property} = "string"
}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "string"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
taskType = "ValidateMigrationInput.SqlServer.SqlDb.Sync"
}
Property Values
Microsoft.DataMigration/services/projects/tasks
Name |
Description |
Value |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
name |
The resource name |
string (required) |
parent_id |
The ID of the resource that is the parent for this resource. |
ID for resource of type: services/projects |
properties |
Custom task properties |
ProjectTaskProperties |
type |
The resource type |
"Microsoft.DataMigration/services/projects/tasks@2025-03-15-preview" |
AzureActiveDirectoryApp
Name |
Description |
Value |
appKey |
Key used to authenticate to the Azure Active Directory Application |
string |
applicationId |
Application ID of the Azure Active Directory Application |
string |
ignoreAzurePermissions |
Ignore checking azure permissions on the AAD app |
bool |
tenantId |
Tenant id of the customer |
string |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
taskType |
Task type. |
'Service.Check.OCI' (required) |
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
taskType |
Task type. |
'Connect.MongoDb' (required) |
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Information for connecting to MySQL source |
MySqlConnectionInfo (required) |
targetPlatform |
Target Platform for the migration |
'AzureDbForMySQL' 'SqlServer' |
ConnectToSourceMySqlTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
ConnectToSourceOracleSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourceSqlServerSyncTaskProperties
Name |
Description |
Value |
checkPermissionsGroup |
Permission group for validations |
'Default' 'MigrationFromMySQLToAzureDBForMySQL' 'MigrationFromSqlServerToAzureDB' 'MigrationFromSqlServerToAzureMI' 'MigrationFromSqlServerToAzureVM' |
collectAgentJobs |
Flag for whether to collect agent jobs from source server. |
bool |
collectDatabases |
Flag for whether to collect databases from source server. |
bool |
collectLogins |
Flag for whether to collect logins from source server. |
bool |
collectTdeCertificateInfo |
Flag for whether to collect TDE Certificate names from source server. |
bool |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
sourceConnectionInfo |
Connection information for Source SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the source server. |
bool |
ConnectToSourceSqlServerTaskProperties
Name |
Description |
Value |
isOfflineMigration |
Flag for whether or not the migration is offline |
bool |
sourceConnectionInfo |
Connection information for source MySQL server |
MySqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for MySQL server |
MySqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskProperties
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInput
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
queryObjectCounts |
Boolean flag indicating whether to query object counts for each database on the target server |
bool |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
taskType |
Task type. |
'ConnectToTarget.SqlDb' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
collectAgentJobs |
Flag for whether to collect agent jobs from target SQL MI server. |
bool |
collectLogins |
Flag for whether to collect logins from target SQL MI server. |
bool |
targetConnectionInfo |
Connection information for target SQL Server |
SqlConnectionInfo (required) |
validateSsisCatalogOnly |
Flag for whether to validate SSIS catalog is reachable on the target SQL MI server. |
bool |
ConnectToTargetSqlMITaskProperties
FileShare
Name |
Description |
Value |
password |
Password credential used to connect to the share location. |
string |
path |
The folder path for this share. |
string (required) |
userName |
User name credential to connect to the share location |
string |
Name |
Description |
Value |
backupFileShare |
Backup file share information for file share to be used for temporarily storing files. |
FileShare (required) |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
selectedCertificates |
List containing certificate names and corresponding password to use for encrypting the exported certificate. |
SelectedCertificateInput[] (required) |
GetTdeCertificatesSqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesOracleTaskProperties
GetUserTablesPostgreSqlTaskInput
Name |
Description |
Value |
connectionInfo |
Information for connecting to PostgreSQL source |
PostgreSqlConnectionInfo (required) |
selectedDatabases |
List of PostgreSQL databases for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
Name |
Description |
Value |
selectedSourceDatabases |
List of source database names to collect tables for |
string[] (required) |
selectedTargetDatabases |
List of target database names to collect tables for |
string[] (required) |
sourceConnectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for SQL DB |
SqlConnectionInfo (required) |
GetUserTablesSqlSyncTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
SqlConnectionInfo (required) |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
taskType |
Task type. |
'GetUserTables.Sql' (required) |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
taskType |
Task type. |
'Service.Install.OCI' (required) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Migrate.MongoDb' (required) |
Name |
Description |
Value |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'Migrate.MySql.AzureDbForMySql' (required) |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputMigrationSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputSourceSetting
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTableMap
MigrateOracleAzureDbPostgreSqlSyncDatabaseInputTargetSetting
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputMigrationSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputSourceSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInputTargetSetting
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTableInput
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required) |
Name |
Description |
Value |
id |
Id of the source database |
string |
name |
Name of source database |
string |
schemaSetting |
Database schema migration settings |
SchemaMigrationSetting |
targetDatabaseName |
Name of target database |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSchemaSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Migration start time |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSchemaSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
taskType |
Task type. |
'MigrateSchemaSqlServerSqlDb' (required) |
Name |
Description |
Value |
id |
id of the database |
string |
makeSourceDbReadOnly |
Whether to set database read only before migration |
bool |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
any |
tableMap |
Mapping of source to target tables |
MigrateSqlServerSqlDbDatabaseInputTableMap |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlDbDatabaseInput[] (required) |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
validationOptions |
Options for enabling various post migration validations. Available options, 1.) Data Integrity Check: Performs a checksum based comparison on source and target tables after the migration to ensure the correctness of the data. 2.) Schema Validation: Performs a thorough schema comparison between the source and target tables and provides a list of differences between the source and target database, 3.) Query Analysis: Executes a set of queries picked up automatically either from the Query Plan Cache or Query Store and execute them and compares the execution time between the source and target database. |
MigrationValidationOptions |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlDbTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.SqlDb' (required) |
Name |
Description |
Value |
backupFilePaths |
The list of backup files to be used in case of existing backups. |
string[] |
backupFileShare |
Backup file share information for backing up this database. |
FileShare |
id |
id of the database |
string |
name |
Name of the database |
string (required) |
restoreDatabaseName |
Name of the database at destination |
string (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
numberOfParallelDatabaseMigrations |
Number of database migrations to start in parallel |
int |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required) |
Name |
Description |
Value |
aadDomainName |
Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected |
string |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases. |
'CreateBackup' 'ExistingBackup' |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
selectedAgentJobs |
Agent Jobs to migrate. |
string[] |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate. |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
startedOn |
Date and time relative to UTC when the migration was started on |
string |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMITaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
parentTaskId |
parent task id |
string |
taskId |
task id |
string |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI' (required) |
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
ssisMigrationInfo |
SSIS package migration information. |
SsisMigrationInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
MigrateSsisTaskProperties
Name |
Description |
Value |
input |
Task input |
MigrateSsisTaskInput |
taskType |
Task type. |
'Migrate.Ssis' (required) |
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 |
MiSqlConnectionInfo
Name |
Description |
Value |
managedInstanceResourceId |
Resource id for Azure SQL database Managed instance |
string (required) |
password |
Password credential. |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbCollectionSettings
Name |
Description |
Value |
canDelete |
Whether the migrator is allowed to drop the target collection in the course of performing a migration. The default is true. |
bool |
shardKey |
Describes a MongoDB shard key |
MongoDbShardKeySetting |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default. This has no effect on non-CosmosDB targets. |
int |
MongoDbConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
connectionString |
A MongoDB connection string or blob container URL. The user name and password can be specified here or in the userName and password properties |
string (required) |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
enforceSSL |
|
bool |
password |
Password credential. |
string |
port |
port for server |
int |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
MongoDbDatabaseSettings
Name |
Description |
Value |
collections |
The collections on the source database to migrate to the target. The keys are the unqualified names of the collections. |
MongoDbDatabaseSettingsCollections (required) |
targetRUs |
The RUs that should be configured on a CosmosDB target, or null to use the default, or 0 if throughput should not be provisioned for the database. This has no effect on non-CosmosDB targets. |
int |
MongoDbDatabaseSettingsCollections
MongoDbMigrationSettings
Name |
Description |
Value |
boostRUs |
The RU limit on a CosmosDB target that collections will be temporarily increased to (if lower) during the initial copy of a migration, from 10,000 to 1,000,000, or 0 to use the default boost (which is generally the maximum), or null to not boost the RUs. This setting has no effect on non-CosmosDB targets. |
int |
databases |
The databases on the source cluster to migrate to the target. The keys are the names of the databases. |
MongoDbMigrationSettingsDatabases (required) |
replication |
Describes how changes will be replicated from the source to the target. The default is OneTime. |
'Continuous' 'Disabled' 'OneTime' |
source |
Settings used to connect to the source cluster |
MongoDbConnectionInfo (required) |
target |
Settings used to connect to the target cluster |
MongoDbConnectionInfo (required) |
throttling |
Settings used to limit the resource usage of the migration |
MongoDbThrottlingSettings |
MongoDbMigrationSettingsDatabases
MongoDbShardKeyField
Name |
Description |
Value |
name |
The name of the field |
string (required) |
order |
The field ordering |
'Forward' 'Hashed' 'Reverse' (required) |
MongoDbShardKeySetting
Name |
Description |
Value |
fields |
The fields within the shard key |
MongoDbShardKeyField[] (required) |
isUnique |
Whether the shard key is unique |
bool |
MongoDbThrottlingSettings
Name |
Description |
Value |
maxParallelism |
The maximum number of work items (e.g. collection copies) that will be processed in parallel |
int |
minFreeCpu |
The percentage of CPU time that the migrator will try to avoid using, from 0 to 100 |
int |
minFreeMemoryMb |
The number of megabytes of RAM that the migrator will try to avoid using |
int |
MySqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverName |
Name of the server |
string (required) |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
OracleConnectionInfo
Name |
Description |
Value |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
dataSource |
EZConnect or TNSName connection string. |
string (required) |
password |
Password credential. |
string |
port |
port for server |
int |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
PostgreSqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'ActiveDirectoryIntegrated' 'ActiveDirectoryPassword' 'None' 'SqlAuthentication' 'WindowsAuthentication' |
databaseName |
Name of the database |
string |
dataSource |
Data source |
string |
encryptConnection |
Whether to encrypt the connection |
bool |
password |
Password credential. |
string |
port |
Port for Server |
int (required) |
serverBrandVersion |
server brand version |
string |
serverName |
Name of the server |
string (required) |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
ProjectTaskProperties
ProjectTaskPropertiesClientData
SchemaMigrationSetting
Name |
Description |
Value |
fileId |
Resource Identifier of a file resource containing the uploaded schema file |
string |
fileName |
Name of the file resource containing the uploaded schema file |
string |
schemaOption |
Option on how to migrate the schema |
'ExtractFromSource' 'None' 'UseStorageFile' |
Name |
Description |
Value |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
SqlConnectionInfo
Name |
Description |
Value |
additionalSettings |
Additional connection settings |
string |
authentication |
Authentication type to use for connection |
'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 |
platform |
Server platform type for connection |
'SqlOnPrem' |
port |
Port for Server |
int |
resourceId |
Represents the ID of an HTTP resource represented by an Azure resource provider. |
string |
serverBrandVersion |
server brand version |
string |
serverName |
name of the server |
string |
serverVersion |
server version |
string |
trustServerCertificate |
Whether to trust the server certificate |
bool |
type |
Type of connection info |
string (required) |
userName |
User name |
string |
SsisMigrationInfo
Name |
Description |
Value |
environmentOverwriteOption |
The overwrite option for the SSIS environment migration |
'Ignore' 'Overwrite' |
projectOverwriteOption |
The overwrite option for the SSIS project migration |
'Ignore' 'Overwrite' |
ssisStoreType |
The SSIS store type of source, only SSIS catalog is supported now in DMS (classic) |
'SsisCatalog' |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
taskType |
Task type. |
'Service.Upload.OCI' (required) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS (classic) instance will use to connect to the target instance of Azure SQL Database Managed Instance and the Azure Storage Account |
AzureActiveDirectoryApp (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
storageResourceId |
Fully qualified resourceId of storage |
string (required) |
targetConnectionInfo |
Connection information for Azure SQL Database Managed Instance |
MiSqlConnectionInfo (required) |
Name |
Description |
Value |
backupBlobShare |
SAS URI of Azure Storage Account Container to be used for storing backup files. |
BlobShare (required) |
backupFileShare |
Backup file share information for all selected databases. |
FileShare |
backupMode |
Backup Mode to specify whether to use existing backup or create new backup. |
'CreateBackup' 'ExistingBackup' |
selectedDatabases |
Databases to migrate |
MigrateSqlServerSqlMIDatabaseInput[] (required) |
selectedLogins |
Logins to migrate |
string[] |
sourceConnectionInfo |
Information for connecting to source |
SqlConnectionInfo (required) |
targetConnectionInfo |
Information for connecting to target |
SqlConnectionInfo (required) |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
taskType |
Task type. |
'Validate.MongoDb' (required) |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
taskType |
Task type. |
'Validate.Oracle.AzureDbPostgreSql.Sync' (required) |