Bicep resource definition
The services/projects/tasks resource type can be deployed to:
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@2022-03-30-preview' = {
name: 'string'
parent: resourceSymbolicName
etag: 'string'
properties: {
clientData: {}
taskType: 'string'
// For remaining properties, see ProjectTaskProperties objects
}
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
taskType: 'Connect.MongoDb'
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'
}
For ConnectToSource.MySql, use:
taskType: 'ConnectToSource.MySql'
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'
}
For ConnectToSource.Oracle.Sync, use:
taskType: 'ConnectToSource.Oracle.Sync'
input: {
sourceConnectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
}
For ConnectToSource.PostgreSql.Sync, use:
taskType: 'ConnectToSource.PostgreSql.Sync'
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'
}
}
For ConnectToSource.SqlServer, use:
taskType: 'ConnectToSource.SqlServer'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
taskId: 'string'
For ConnectToSource.SqlServer.Sync, use:
taskType: 'ConnectToSource.SqlServer.Sync'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
For ConnectToTarget.AzureDbForMySql, use:
taskType: 'ConnectToTarget.AzureDbForMySql'
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'
}
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
taskType: 'ConnectToTarget.AzureDbForPostgreSql.Sync'
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'
}
}
For ConnectToTarget.AzureSqlDbMI, use:
taskType: 'ConnectToTarget.AzureSqlDbMI'
input: {
collectAgentJobs: bool
collectLogins: bool
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validateSsisCatalogOnly: bool
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
taskType: 'ConnectToTarget.AzureSqlDbMI.Sync.LRS'
input: {
azureApp: {
appKey: 'string'
applicationId: 'string'
ignoreAzurePermissions: bool
tenantId: 'string'
}
targetConnectionInfo: {
managedInstanceResourceId: 'string'
password: 'string'
type: 'string'
userName: 'string'
}
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
taskType: 'ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync'
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'
}
}
For ConnectToTarget.SqlDb, use:
taskType: 'ConnectToTarget.SqlDb'
createdOn: 'string'
input: {
queryObjectCounts: bool
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
For ConnectToTarget.SqlDb.Sync, use:
taskType: 'ConnectToTarget.SqlDb.Sync'
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
For GetTDECertificates.Sql, use:
taskType: 'GetTDECertificates.Sql'
input: {
backupFileShare: {
password: 'string'
path: 'string'
userName: 'string'
}
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
selectedCertificates: [
{
certificateName: 'string'
password: 'string'
}
]
}
For GetUserTables.AzureSqlDb.Sync, use:
taskType: 'GetUserTables.AzureSqlDb.Sync'
input: {
selectedSourceDatabases: [
'string'
]
selectedTargetDatabases: [
'string'
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
For GetUserTables.Sql, use:
taskType: 'GetUserTables.Sql'
input: {
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
'string'
]
}
taskId: 'string'
For GetUserTablesMySql, use:
taskType: 'GetUserTablesMySql'
input: {
connectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
port: int
serverName: 'string'
type: 'string'
userName: 'string'
}
selectedDatabases: [
'string'
]
}
For GetUserTablesOracle, use:
taskType: 'GetUserTablesOracle'
input: {
connectionInfo: {
authentication: 'string'
dataSource: 'string'
password: 'string'
port: int
serverName: 'string'
serverVersion: 'string'
type: 'string'
userName: 'string'
}
selectedSchemas: [
'string'
]
}
For GetUserTablesPostgreSql, use:
taskType: 'GetUserTablesPostgreSql'
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'
]
}
For Migrate.MongoDb, use:
taskType: 'Migrate.MongoDb'
input: {
boostRUs: int
databases: {}
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
}
}
For Migrate.MySql.AzureDbForMySql, use:
taskType: 'Migrate.MySql.AzureDbForMySql'
input: {
encryptedKeyForSecureFields: 'string'
optionalAgentSettings: {}
selectedDatabases: [
{
name: 'string'
tableMap: {}
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'
For Migrate.MySql.AzureDbForMySql.Sync, use:
taskType: 'Migrate.MySql.AzureDbForMySql.Sync'
input: {
selectedDatabases: [
{
migrationSetting: {}
name: 'string'
sourceSetting: {}
tableMap: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
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'
}
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
taskType: 'Migrate.Oracle.AzureDbForPostgreSql.Sync'
input: {
selectedDatabases: [
{
caseManipulation: 'string'
migrationSetting: {}
name: 'string'
schemaName: 'string'
sourceSetting: {}
tableMap: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
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'
}
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
taskType: 'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2'
createdOn: 'string'
input: {
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
{
migrationSetting: {}
name: 'string'
selectedTables: [
{
name: 'string'
}
]
sourceSetting: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
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'
For Migrate.SqlServer.AzureSqlDb.Sync, use:
taskType: 'Migrate.SqlServer.AzureSqlDb.Sync'
input: {
selectedDatabases: [
{
id: 'string'
migrationSetting: {}
name: 'string'
schemaName: 'string'
sourceSetting: {}
tableMap: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
validationOptions: {
enableDataIntegrityValidation: bool
enableQueryAnalysisValidation: bool
enableSchemaValidation: bool
}
}
For Migrate.SqlServer.AzureSqlDbMI, use:
taskType: 'Migrate.SqlServer.AzureSqlDbMI'
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: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
isCloneable: bool
parentTaskId: 'string'
taskId: 'string'
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
taskType: 'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS'
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: 'SqlOnPrem'
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'
}
}
For Migrate.SqlServer.SqlDb, use:
taskType: 'Migrate.SqlServer.SqlDb'
createdOn: 'string'
input: {
encryptedKeyForSecureFields: 'string'
selectedDatabases: [
{
id: 'string'
name: 'string'
schemaSetting: any()
tableMap: {}
targetDatabaseName: 'string'
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
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: 'SqlOnPrem'
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'
For Migrate.Ssis, use:
taskType: 'Migrate.Ssis'
input: {
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
ssisMigrationInfo: {
environmentOverwriteOption: 'string'
projectOverwriteOption: 'string'
ssisStoreType: 'SsisCatalog'
}
targetConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
For MigrateSchemaSqlServerSqlDb, use:
taskType: 'MigrateSchemaSqlServerSqlDb'
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: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
isCloneable: bool
taskId: 'string'
For Service.Check.OCI, use:
taskType: 'Service.Check.OCI'
input: {
serverVersion: 'string'
}
For Service.Install.OCI, use:
taskType: 'Service.Install.OCI'
input: {
driverPackageName: 'string'
}
For Service.Upload.OCI, use:
taskType: 'Service.Upload.OCI'
input: {
driverShare: {
password: 'string'
path: 'string'
userName: 'string'
}
}
For Validate.MongoDb, use:
taskType: 'Validate.MongoDb'
input: {
boostRUs: int
databases: {}
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
}
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
taskType: 'Validate.Oracle.AzureDbPostgreSql.Sync'
input: {
selectedDatabases: [
{
caseManipulation: 'string'
migrationSetting: {}
name: 'string'
schemaName: 'string'
sourceSetting: {}
tableMap: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
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'
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI'
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: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
taskType: 'ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS'
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: 'SqlOnPrem'
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'
}
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
taskType: 'ValidateMigrationInput.SqlServer.SqlDb.Sync'
input: {
selectedDatabases: [
{
id: 'string'
migrationSetting: {}
name: 'string'
schemaName: 'string'
sourceSetting: {}
tableMap: {}
targetDatabaseName: 'string'
targetSetting: {}
}
]
sourceConnectionInfo: {
additionalSettings: 'string'
authentication: 'string'
dataSource: 'string'
encryptConnection: bool
password: 'string'
platform: 'SqlOnPrem'
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: 'SqlOnPrem'
port: int
resourceId: 'string'
serverBrandVersion: 'string'
serverName: 'string'
serverVersion: 'string'
trustServerCertificate: bool
type: 'string'
userName: 'string'
}
}
Property values
services/projects/tasks
Name |
Description |
Value |
name |
The resource name
See how to set names and types for child resources in Bicep. |
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: projects |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
properties |
Custom task properties |
ProjectTaskProperties |
ProjectTaskProperties
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Connect.MongoDb' (required) |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
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 |
ConnectToSourceMySqlTaskProperties
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' |
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 |
ConnectToSourceOracleSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
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 |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
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 |
ConnectToSourceSqlServerTaskProperties
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 |
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 |
ConnectToSourceSqlServerSyncTaskProperties
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) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskPropertie...
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) |
ConnectToTargetSqlMITaskProperties
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 |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
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 |
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 |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskPro...
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInp...
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'ConnectToTarget.SqlDb' (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
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) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
GetTdeCertificatesSqlTaskProperties
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) |
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 |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
GetUserTablesSqlSyncTaskProperties
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) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'GetUserTables.Sql' (required) |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
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) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesOracleTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
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) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.MongoDb' (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
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. |
object (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 |
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 |
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.MySql.AzureDbForMySql' (required) |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
optionalAgentSettings |
Optional parameters for fine tuning the data transfer rate during migration |
object |
selectedDatabases |
Databases to migrate |
MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source MySQL |
MySqlConnectionInfo (required) |
startedOn |
Parameter to specify when the migration started |
string |
targetConnectionInfo |
Connection information for target Azure Database for MySQL |
MySqlConnectionInfo (required) |
Name |
Description |
Value |
name |
Name of the database |
string |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
Name |
Description |
Value |
caseManipulation |
How to handle object name casing: either Preserve or ToLower |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the migration pipeline |
string |
schemaName |
Name of the source schema |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskPropert...
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required) |
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 |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInp...
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
selectedTables |
Tables selected for migration |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...[] |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
id |
Unique identifier for database |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of database |
string |
schemaName |
Schema name to be migrated |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Target database name |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
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 |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI' (required) |
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 |
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) |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
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) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.SqlDb' (required) |
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 |
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 |
Name |
Description |
Value |
id |
id of the database |
string |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
For Bicep, you can use the any() function. |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSsisTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.Ssis' (required) |
input |
Task input |
MigrateSsisTaskInput |
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) |
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 |
'SsisCatalog' |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'MigrateSchemaSqlServerSqlDb' (required) |
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 |
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) |
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 |
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' |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Check.OCI' (required) |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Install.OCI' (required) |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Upload.OCI' (required) |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Validate.MongoDb' (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Validate.Oracle.AzureDbPostgreSql.Sync' (required) |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
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) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
ARM template resource definition
The services/projects/tasks resource type can be deployed to:
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": "2022-03-30-preview",
"name": "string",
"etag": "string",
"properties": {
"clientData": {},
"taskType": "string"
// For remaining properties, see ProjectTaskProperties objects
}
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
"taskType": "Connect.MongoDb",
"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"
}
For ConnectToSource.MySql, use:
"taskType": "ConnectToSource.MySql",
"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"
}
For ConnectToSource.Oracle.Sync, use:
"taskType": "ConnectToSource.Oracle.Sync",
"input": {
"sourceConnectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
}
}
For ConnectToSource.PostgreSql.Sync, use:
"taskType": "ConnectToSource.PostgreSql.Sync",
"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"
}
}
For ConnectToSource.SqlServer, use:
"taskType": "ConnectToSource.SqlServer",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
},
"taskId": "string"
For ConnectToSource.SqlServer.Sync, use:
"taskType": "ConnectToSource.SqlServer.Sync",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
}
For ConnectToTarget.AzureDbForMySql, use:
"taskType": "ConnectToTarget.AzureDbForMySql",
"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"
}
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
"taskType": "ConnectToTarget.AzureDbForPostgreSql.Sync",
"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"
}
}
For ConnectToTarget.AzureSqlDbMI, use:
"taskType": "ConnectToTarget.AzureSqlDbMI",
"input": {
"collectAgentJobs": "bool",
"collectLogins": "bool",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validateSsisCatalogOnly": "bool"
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
"taskType": "ConnectToTarget.AzureSqlDbMI.Sync.LRS",
"input": {
"azureApp": {
"appKey": "string",
"applicationId": "string",
"ignoreAzurePermissions": "bool",
"tenantId": "string"
},
"targetConnectionInfo": {
"managedInstanceResourceId": "string",
"password": "string",
"type": "string",
"userName": "string"
}
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
"taskType": "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync",
"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"
}
}
For ConnectToTarget.SqlDb, use:
"taskType": "ConnectToTarget.SqlDb",
"createdOn": "string",
"input": {
"queryObjectCounts": "bool",
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
For ConnectToTarget.SqlDb.Sync, use:
"taskType": "ConnectToTarget.SqlDb.Sync",
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
For GetTDECertificates.Sql, use:
"taskType": "GetTDECertificates.Sql",
"input": {
"backupFileShare": {
"password": "string",
"path": "string",
"userName": "string"
},
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"selectedCertificates": [
{
"certificateName": "string",
"password": "string"
}
]
}
For GetUserTables.AzureSqlDb.Sync, use:
"taskType": "GetUserTables.AzureSqlDb.Sync",
"input": {
"selectedSourceDatabases": [ "string" ],
"selectedTargetDatabases": [ "string" ],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
For GetUserTables.Sql, use:
"taskType": "GetUserTables.Sql",
"input": {
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [ "string" ]
},
"taskId": "string"
For GetUserTablesMySql, use:
"taskType": "GetUserTablesMySql",
"input": {
"connectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"port": "int",
"serverName": "string",
"type": "string",
"userName": "string"
},
"selectedDatabases": [ "string" ]
}
For GetUserTablesOracle, use:
"taskType": "GetUserTablesOracle",
"input": {
"connectionInfo": {
"authentication": "string",
"dataSource": "string",
"password": "string",
"port": "int",
"serverName": "string",
"serverVersion": "string",
"type": "string",
"userName": "string"
},
"selectedSchemas": [ "string" ]
}
For GetUserTablesPostgreSql, use:
"taskType": "GetUserTablesPostgreSql",
"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" ]
}
For Migrate.MongoDb, use:
"taskType": "Migrate.MongoDb",
"input": {
"boostRUs": "int",
"databases": {},
"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"
}
}
For Migrate.MySql.AzureDbForMySql, use:
"taskType": "Migrate.MySql.AzureDbForMySql",
"input": {
"encryptedKeyForSecureFields": "string",
"optionalAgentSettings": {},
"selectedDatabases": [
{
"name": "string",
"tableMap": {},
"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"
For Migrate.MySql.AzureDbForMySql.Sync, use:
"taskType": "Migrate.MySql.AzureDbForMySql.Sync",
"input": {
"selectedDatabases": [
{
"migrationSetting": {},
"name": "string",
"sourceSetting": {},
"tableMap": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"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"
}
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
"taskType": "Migrate.Oracle.AzureDbForPostgreSql.Sync",
"input": {
"selectedDatabases": [
{
"caseManipulation": "string",
"migrationSetting": {},
"name": "string",
"schemaName": "string",
"sourceSetting": {},
"tableMap": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"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"
}
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
"taskType": "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2",
"createdOn": "string",
"input": {
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [
{
"migrationSetting": {},
"name": "string",
"selectedTables": [
{
"name": "string"
}
],
"sourceSetting": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"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"
For Migrate.SqlServer.AzureSqlDb.Sync, use:
"taskType": "Migrate.SqlServer.AzureSqlDb.Sync",
"input": {
"selectedDatabases": [
{
"id": "string",
"migrationSetting": {},
"name": "string",
"schemaName": "string",
"sourceSetting": {},
"tableMap": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"validationOptions": {
"enableDataIntegrityValidation": "bool",
"enableQueryAnalysisValidation": "bool",
"enableSchemaValidation": "bool"
}
}
For Migrate.SqlServer.AzureSqlDbMI, use:
"taskType": "Migrate.SqlServer.AzureSqlDbMI",
"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": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"parentTaskId": "string",
"taskId": "string"
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
"taskType": "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS",
"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": "SqlOnPrem",
"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"
}
}
For Migrate.SqlServer.SqlDb, use:
"taskType": "Migrate.SqlServer.SqlDb",
"createdOn": "string",
"input": {
"encryptedKeyForSecureFields": "string",
"selectedDatabases": [
{
"id": "string",
"name": "string",
"schemaSetting": {},
"tableMap": {},
"targetDatabaseName": "string"
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"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": "SqlOnPrem",
"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"
For Migrate.Ssis, use:
"taskType": "Migrate.Ssis",
"input": {
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
},
"ssisMigrationInfo": {
"environmentOverwriteOption": "string",
"projectOverwriteOption": "string",
"ssisStoreType": "SsisCatalog"
},
"targetConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
For MigrateSchemaSqlServerSqlDb, use:
"taskType": "MigrateSchemaSqlServerSqlDb",
"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": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
},
"isCloneable": "bool",
"taskId": "string"
For Service.Check.OCI, use:
"taskType": "Service.Check.OCI",
"input": {
"serverVersion": "string"
}
For Service.Install.OCI, use:
"taskType": "Service.Install.OCI",
"input": {
"driverPackageName": "string"
}
For Service.Upload.OCI, use:
"taskType": "Service.Upload.OCI",
"input": {
"driverShare": {
"password": "string",
"path": "string",
"userName": "string"
}
}
For Validate.MongoDb, use:
"taskType": "Validate.MongoDb",
"input": {
"boostRUs": "int",
"databases": {},
"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"
}
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
"taskType": "Validate.Oracle.AzureDbPostgreSql.Sync",
"input": {
"selectedDatabases": [
{
"caseManipulation": "string",
"migrationSetting": {},
"name": "string",
"schemaName": "string",
"sourceSetting": {},
"tableMap": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"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"
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
"taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI",
"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": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
"taskType": "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS",
"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": "SqlOnPrem",
"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"
}
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
"taskType": "ValidateMigrationInput.SqlServer.SqlDb.Sync",
"input": {
"selectedDatabases": [
{
"id": "string",
"migrationSetting": {},
"name": "string",
"schemaName": "string",
"sourceSetting": {},
"tableMap": {},
"targetDatabaseName": "string",
"targetSetting": {}
}
],
"sourceConnectionInfo": {
"additionalSettings": "string",
"authentication": "string",
"dataSource": "string",
"encryptConnection": "bool",
"password": "string",
"platform": "SqlOnPrem",
"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": "SqlOnPrem",
"port": "int",
"resourceId": "string",
"serverBrandVersion": "string",
"serverName": "string",
"serverVersion": "string",
"trustServerCertificate": "bool",
"type": "string",
"userName": "string"
}
}
Property values
services/projects/tasks
Name |
Description |
Value |
type |
The resource type |
'Microsoft.DataMigration/services/projects/tasks' |
apiVersion |
The resource api version |
'2022-03-30-preview' |
name |
The resource name
See how to set names and types for child resources in JSON ARM templates. |
string (required) |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
properties |
Custom task properties |
ProjectTaskProperties |
ProjectTaskProperties
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Connect.MongoDb' (required) |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
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 |
ConnectToSourceMySqlTaskProperties
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' |
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 |
ConnectToSourceOracleSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
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 |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
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 |
ConnectToSourceSqlServerTaskProperties
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 |
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 |
ConnectToSourceSqlServerSyncTaskProperties
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) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskPropertie...
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) |
ConnectToTargetSqlMITaskProperties
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 |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
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 |
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 |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskPro...
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInp...
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'ConnectToTarget.SqlDb' (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
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) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
GetTdeCertificatesSqlTaskProperties
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) |
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 |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
GetUserTablesSqlSyncTaskProperties
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) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'GetUserTables.Sql' (required) |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
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) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesOracleTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
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) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.MongoDb' (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
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. |
object (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 |
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 |
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.MySql.AzureDbForMySql' (required) |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
optionalAgentSettings |
Optional parameters for fine tuning the data transfer rate during migration |
object |
selectedDatabases |
Databases to migrate |
MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source MySQL |
MySqlConnectionInfo (required) |
startedOn |
Parameter to specify when the migration started |
string |
targetConnectionInfo |
Connection information for target Azure Database for MySQL |
MySqlConnectionInfo (required) |
Name |
Description |
Value |
name |
Name of the database |
string |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
Name |
Description |
Value |
caseManipulation |
How to handle object name casing: either Preserve or ToLower |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the migration pipeline |
string |
schemaName |
Name of the source schema |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskPropert...
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2' (required) |
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 |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInp...
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
selectedTables |
Tables selected for migration |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...[] |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
id |
Unique identifier for database |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of database |
string |
schemaName |
Schema name to be migrated |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Target database name |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
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 |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI' (required) |
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 |
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) |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
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) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.AzureSqlDbMI.Sync.LRS' (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.SqlServer.SqlDb' (required) |
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 |
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 |
Name |
Description |
Value |
id |
id of the database |
string |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
|
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSsisTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Migrate.Ssis' (required) |
input |
Task input |
MigrateSsisTaskInput |
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) |
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 |
'SsisCatalog' |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'MigrateSchemaSqlServerSqlDb' (required) |
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 |
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) |
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 |
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' |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Check.OCI' (required) |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Install.OCI' (required) |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Service.Upload.OCI' (required) |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Validate.MongoDb' (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
'Validate.Oracle.AzureDbPostgreSql.Sync' (required) |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
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) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
The services/projects/tasks resource type can be deployed to:
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@2022-03-30-preview"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
clientData = {}
taskType = "string"
// For remaining properties, see ProjectTaskProperties objects
}
etag = "string"
})
}
ProjectTaskProperties objects
Set the taskType property to specify the type of object.
For Connect.MongoDb, use:
taskType = "Connect.MongoDb"
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"
}
For ConnectToSource.MySql, use:
taskType = "ConnectToSource.MySql"
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"
}
For ConnectToSource.Oracle.Sync, use:
taskType = "ConnectToSource.Oracle.Sync"
input = {
sourceConnectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
}
For ConnectToSource.PostgreSql.Sync, use:
taskType = "ConnectToSource.PostgreSql.Sync"
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"
}
}
For ConnectToSource.SqlServer, use:
taskType = "ConnectToSource.SqlServer"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
taskId = "string"
For ConnectToSource.SqlServer.Sync, use:
taskType = "ConnectToSource.SqlServer.Sync"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
For ConnectToTarget.AzureDbForMySql, use:
taskType = "ConnectToTarget.AzureDbForMySql"
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"
}
}
For ConnectToTarget.AzureDbForPostgreSql.Sync, use:
taskType = "ConnectToTarget.AzureDbForPostgreSql.Sync"
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"
}
}
For ConnectToTarget.AzureSqlDbMI, use:
taskType = "ConnectToTarget.AzureSqlDbMI"
input = {
collectAgentJobs = bool
collectLogins = bool
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validateSsisCatalogOnly = bool
}
For ConnectToTarget.AzureSqlDbMI.Sync.LRS, use:
taskType = "ConnectToTarget.AzureSqlDbMI.Sync.LRS"
input = {
azureApp = {
appKey = "string"
applicationId = "string"
ignoreAzurePermissions = bool
tenantId = "string"
}
targetConnectionInfo = {
managedInstanceResourceId = "string"
password = "string"
type = "string"
userName = "string"
}
}
For ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync, use:
taskType = "ConnectToTarget.Oracle.AzureDbForPostgreSql.Sync"
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"
}
}
For ConnectToTarget.SqlDb, use:
taskType = "ConnectToTarget.SqlDb"
createdOn = "string"
input = {
queryObjectCounts = bool
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
For ConnectToTarget.SqlDb.Sync, use:
taskType = "ConnectToTarget.SqlDb.Sync"
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
For GetTDECertificates.Sql, use:
taskType = "GetTDECertificates.Sql"
input = {
backupFileShare = {
password = "string"
path = "string"
userName = "string"
}
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
selectedCertificates = [
{
certificateName = "string"
password = "string"
}
]
}
For GetUserTables.AzureSqlDb.Sync, use:
taskType = "GetUserTables.AzureSqlDb.Sync"
input = {
selectedSourceDatabases = [
"string"
]
selectedTargetDatabases = [
"string"
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
For GetUserTables.Sql, use:
taskType = "GetUserTables.Sql"
input = {
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
encryptedKeyForSecureFields = "string"
selectedDatabases = [
"string"
]
}
taskId = "string"
For GetUserTablesMySql, use:
taskType = "GetUserTablesMySql"
input = {
connectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
port = int
serverName = "string"
type = "string"
userName = "string"
}
selectedDatabases = [
"string"
]
}
For GetUserTablesOracle, use:
taskType = "GetUserTablesOracle"
input = {
connectionInfo = {
authentication = "string"
dataSource = "string"
password = "string"
port = int
serverName = "string"
serverVersion = "string"
type = "string"
userName = "string"
}
selectedSchemas = [
"string"
]
}
For GetUserTablesPostgreSql, use:
taskType = "GetUserTablesPostgreSql"
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"
]
}
For Migrate.MongoDb, use:
taskType = "Migrate.MongoDb"
input = {
boostRUs = int
databases = {}
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
}
}
For Migrate.MySql.AzureDbForMySql, use:
taskType = "Migrate.MySql.AzureDbForMySql"
input = {
encryptedKeyForSecureFields = "string"
optionalAgentSettings = {}
selectedDatabases = [
{
name = "string"
tableMap = {}
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"
For Migrate.MySql.AzureDbForMySql.Sync, use:
taskType = "Migrate.MySql.AzureDbForMySql.Sync"
input = {
selectedDatabases = [
{
migrationSetting = {}
name = "string"
sourceSetting = {}
tableMap = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
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"
}
}
For Migrate.Oracle.AzureDbForPostgreSql.Sync, use:
taskType = "Migrate.Oracle.AzureDbForPostgreSql.Sync"
input = {
selectedDatabases = [
{
caseManipulation = "string"
migrationSetting = {}
name = "string"
schemaName = "string"
sourceSetting = {}
tableMap = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
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"
}
}
For Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2, use:
taskType = "Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2"
createdOn = "string"
input = {
encryptedKeyForSecureFields = "string"
selectedDatabases = [
{
migrationSetting = {}
name = "string"
selectedTables = [
{
name = "string"
}
]
sourceSetting = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
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"
For Migrate.SqlServer.AzureSqlDb.Sync, use:
taskType = "Migrate.SqlServer.AzureSqlDb.Sync"
input = {
selectedDatabases = [
{
id = "string"
migrationSetting = {}
name = "string"
schemaName = "string"
sourceSetting = {}
tableMap = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
validationOptions = {
enableDataIntegrityValidation = bool
enableQueryAnalysisValidation = bool
enableSchemaValidation = bool
}
}
For Migrate.SqlServer.AzureSqlDbMI, use:
taskType = "Migrate.SqlServer.AzureSqlDbMI"
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 = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
isCloneable = bool
parentTaskId = "string"
taskId = "string"
For Migrate.SqlServer.AzureSqlDbMI.Sync.LRS, use:
taskType = "Migrate.SqlServer.AzureSqlDbMI.Sync.LRS"
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 = "SqlOnPrem"
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"
}
}
For Migrate.SqlServer.SqlDb, use:
taskType = "Migrate.SqlServer.SqlDb"
createdOn = "string"
input = {
encryptedKeyForSecureFields = "string"
selectedDatabases = [
{
id = "string"
name = "string"
tableMap = {}
targetDatabaseName = "string"
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
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 = "SqlOnPrem"
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"
For Migrate.Ssis, use:
taskType = "Migrate.Ssis"
input = {
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
ssisMigrationInfo = {
environmentOverwriteOption = "string"
projectOverwriteOption = "string"
ssisStoreType = "SsisCatalog"
}
targetConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
For MigrateSchemaSqlServerSqlDb, use:
taskType = "MigrateSchemaSqlServerSqlDb"
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 = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
isCloneable = bool
taskId = "string"
For Service.Check.OCI, use:
taskType = "Service.Check.OCI"
input = {
serverVersion = "string"
}
For Service.Install.OCI, use:
taskType = "Service.Install.OCI"
input = {
driverPackageName = "string"
}
For Service.Upload.OCI, use:
taskType = "Service.Upload.OCI"
input = {
driverShare = {
password = "string"
path = "string"
userName = "string"
}
}
For Validate.MongoDb, use:
taskType = "Validate.MongoDb"
input = {
boostRUs = int
databases = {}
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
}
}
For Validate.Oracle.AzureDbPostgreSql.Sync, use:
taskType = "Validate.Oracle.AzureDbPostgreSql.Sync"
input = {
selectedDatabases = [
{
caseManipulation = "string"
migrationSetting = {}
name = "string"
schemaName = "string"
sourceSetting = {}
tableMap = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
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"
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI, use:
taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI"
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 = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
For ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS, use:
taskType = "ValidateMigrationInput.SqlServer.AzureSqlDbMI.Sync.LRS"
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 = "SqlOnPrem"
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"
}
}
For ValidateMigrationInput.SqlServer.SqlDb.Sync, use:
taskType = "ValidateMigrationInput.SqlServer.SqlDb.Sync"
input = {
selectedDatabases = [
{
id = "string"
migrationSetting = {}
name = "string"
schemaName = "string"
sourceSetting = {}
tableMap = {}
targetDatabaseName = "string"
targetSetting = {}
}
]
sourceConnectionInfo = {
additionalSettings = "string"
authentication = "string"
dataSource = "string"
encryptConnection = bool
password = "string"
platform = "SqlOnPrem"
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 = "SqlOnPrem"
port = int
resourceId = "string"
serverBrandVersion = "string"
serverName = "string"
serverVersion = "string"
trustServerCertificate = bool
type = "string"
userName = "string"
}
}
Property values
services/projects/tasks
Name |
Description |
Value |
type |
The resource type |
"Microsoft.DataMigration/services/projects/tasks@2022-03-30-preview" |
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: projects |
etag |
HTTP strong entity tag value. This is ignored if submitted. |
string |
properties |
Custom task properties |
ProjectTaskProperties |
ProjectTaskProperties
ConnectToMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Connect.MongoDb" (required) |
input |
Describes a connection to a MongoDB data source |
MongoDbConnectionInfo |
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 |
ConnectToSourceMySqlTaskProperties
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" |
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 |
ConnectToSourceOracleSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
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 |
ConnectToSourcePostgreSqlSyncTaskProperties
ConnectToSourcePostgreSqlSyncTaskInput
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source PostgreSQL server |
PostgreSqlConnectionInfo (required) |
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 |
ConnectToSourceSqlServerTaskProperties
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 |
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 |
ConnectToSourceSqlServerSyncTaskProperties
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) |
ConnectToTargetAzureDbForPostgreSqlSyncTaskPropertie...
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) |
ConnectToTargetSqlMITaskProperties
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 |
ConnectToTargetSqlMISyncTaskProperties
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
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 |
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 |
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskPro...
ConnectToTargetOracleAzureDbForPostgreSqlSyncTaskInp...
Name |
Description |
Value |
targetConnectionInfo |
Connection information for target Azure Database for PostgreSQL server |
PostgreSqlConnectionInfo (required) |
ConnectToTargetSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"ConnectToTarget.SqlDb" (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
ConnectToTargetSqlDbTaskInput |
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) |
ConnectToTargetSqlDbSyncTaskProperties
Name |
Description |
Value |
sourceConnectionInfo |
Connection information for source SQL Server |
SqlConnectionInfo (required) |
targetConnectionInfo |
Connection information for target SQL DB |
SqlConnectionInfo (required) |
GetTdeCertificatesSqlTaskProperties
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) |
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 |
certificateName |
Name of certificate to be exported. |
string (required) |
password |
Password to use for encrypting the exported certificate. |
string (required) |
GetUserTablesSqlSyncTaskProperties
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) |
GetUserTablesSqlTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"GetUserTables.Sql" (required) |
input |
Task input |
GetUserTablesSqlTaskInput |
taskId |
Task id |
string |
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) |
GetUserTablesMySqlTaskProperties
Name |
Description |
Value |
connectionInfo |
Connection information for SQL Server |
MySqlConnectionInfo (required) |
selectedDatabases |
List of database names to collect tables for |
string[] (required) |
GetUserTablesOracleTaskProperties
Name |
Description |
Value |
connectionInfo |
Information for connecting to Oracle source |
OracleConnectionInfo (required) |
selectedSchemas |
List of Oracle schemas for which to collect tables |
string[] (required) |
GetUserTablesPostgreSqlTaskProperties
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) |
MigrateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.MongoDb" (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
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. |
object (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 |
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 |
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.MySql.AzureDbForMySql" (required) |
input |
Task input |
MigrateMySqlAzureDbForMySqlOfflineTaskInput |
isCloneable |
whether the task can be cloned or not |
bool |
taskId |
Task id |
string |
Name |
Description |
Value |
encryptedKeyForSecureFields |
encrypted key for secure fields |
string |
optionalAgentSettings |
Optional parameters for fine tuning the data transfer rate during migration |
object |
selectedDatabases |
Databases to migrate |
MigrateMySqlAzureDbForMySqlOfflineDatabaseInput[] (required) |
sourceConnectionInfo |
Connection information for source MySQL |
MySqlConnectionInfo (required) |
startedOn |
Parameter to specify when the migration started |
string |
targetConnectionInfo |
Connection information for target Azure Database for MySQL |
MySqlConnectionInfo (required) |
Name |
Description |
Value |
name |
Name of the database |
string |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigrateOracleAzureDbForPostgreSqlSyncTaskProperties
MigrateOracleAzureDbPostgreSqlSyncTaskInput
MigrateOracleAzureDbPostgreSqlSyncDatabaseInput
Name |
Description |
Value |
caseManipulation |
How to handle object name casing: either Preserve or ToLower |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the migration pipeline |
string |
schemaName |
Name of the source schema |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskPropert...
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.PostgreSql.AzureDbForPostgreSql.SyncV2" (required) |
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 |
MigratePostgreSqlAzureDbForPostgreSqlSyncTaskInput
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseInp...
Name |
Description |
Value |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of the database |
string |
selectedTables |
Tables selected for migration |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...[] |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
MigratePostgreSqlAzureDbForPostgreSqlSyncDatabaseTab...
Name |
Description |
Value |
name |
Name of the table to migrate |
string |
MigrateSqlServerSqlDbSyncTaskProperties
Name |
Description |
Value |
id |
Unique identifier for database |
string |
migrationSetting |
Migration settings which tune the migration behavior |
object |
name |
Name of database |
string |
schemaName |
Schema name to be migrated |
string |
sourceSetting |
Source settings to tune source endpoint migration behavior |
object |
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Target database name |
string |
targetSetting |
Target settings to tune target endpoint migration behavior |
object |
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 |
MigrateSqlServerSqlMITaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.SqlServer.AzureSqlDbMI" (required) |
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 |
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) |
BlobShare
Name |
Description |
Value |
sasUri |
SAS URI of Azure Storage Account Container. |
string |
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) |
MigrateSqlServerSqlMISyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.SqlServer.AzureSqlDbMI.Sync.LRS" (required) |
createdOn |
DateTime in UTC when the task was created |
string |
input |
Task input |
MigrateSqlServerSqlMISyncTaskInput |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |
MigrateSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.SqlServer.SqlDb" (required) |
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 |
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 |
Name |
Description |
Value |
id |
id of the database |
string |
name |
Name of the database |
string |
schemaSetting |
Settings selected for DB schema migration. |
|
tableMap |
Mapping of source to target tables |
object |
targetDatabaseName |
Name of target database. Note: Target database will be truncated before starting migration. |
string |
MigrateSsisTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Migrate.Ssis" (required) |
input |
Task input |
MigrateSsisTaskInput |
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) |
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 |
"SsisCatalog" |
MigrateSchemaSqlServerSqlDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"MigrateSchemaSqlServerSqlDb" (required) |
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 |
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) |
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 |
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" |
CheckOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Service.Check.OCI" (required) |
input |
Input for the service task to check for OCI drivers. |
CheckOCIDriverTaskInput |
Name |
Description |
Value |
serverVersion |
Version of the source server to check against. Optional. |
string |
InstallOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Service.Install.OCI" (required) |
input |
Input for the service task to install an OCI driver. |
InstallOCIDriverTaskInput |
Name |
Description |
Value |
driverPackageName |
Name of the uploaded driver package to install. |
string |
UploadOCIDriverTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Service.Upload.OCI" (required) |
input |
Input for the service task to upload an OCI driver. |
UploadOCIDriverTaskInput |
Name |
Description |
Value |
driverShare |
File share information for the OCI driver archive. |
FileShare |
ValidateMongoDbTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Validate.MongoDb" (required) |
input |
Describes how a MongoDB data migration should be performed |
MongoDbMigrationSettings |
ValidateOracleAzureDbForPostgreSqlSyncTaskProperties
Name |
Description |
Value |
taskType |
Task type. |
"Validate.Oracle.AzureDbPostgreSql.Sync" (required) |
input |
Input for the task that migrates Oracle databases to Azure Database for PostgreSQL for online migrations |
MigrateOracleAzureDbPostgreSqlSyncTaskInput |
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) |
Name |
Description |
Value |
azureApp |
Azure Active Directory Application the DMS 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) |