database_migrations_sql_mi
Creates, updates, deletes, gets or lists a database_migrations_sql_mi resource.
Overview
| Name | database_migrations_sql_mi |
| Type | Resource |
| Id | azure.data_migration.database_migrations_sql_mi |
Fields
The following fields are returned by SELECT queries:
- get
| Name | Datatype | Description |
|---|---|---|
id | string | Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. |
name | string | The name of the resource. |
backupConfiguration | object | Backup configuration info. |
endedOn | string (date-time) | Database migration end time. |
kind | string | Required. SqlMi. |
migrationFailureError | object | Error details in case of migration failure. |
migrationOperationId | string | ID for current migration operation. |
migrationService | string | Resource Id of the Migration Service. |
migrationStatus | string | Migration status. |
migrationStatusDetails | object | Detailed migration status. Not included by default. |
offlineConfiguration | object | Offline configuration. |
provisioningError | string | Error message for migration provisioning failure, if any. |
provisioningState | string | Provisioning State of migration. ProvisioningState as Succeeded implies that validations have been performed and migration has started. Known values are: "Provisioning", "Updating", "Succeeded", "Failed", and "Canceled". (Provisioning, Updating, Succeeded, Failed, Canceled) |
scope | string | Resource Id of the target resource. |
sourceDatabaseName | string | Name of the source database. |
sourceServerName | string | Name of the source sql server. |
sourceSqlConnection | object | Source SQL Server connection details. |
sqlServerInstanceId | string | Optional property - Resource Id for the source Sql server instance. Validations are performed on this property to ensure that it follows the correct format. |
startedOn | string (date-time) | Database migration start time. |
systemData | object | Azure Resource Manager metadata containing createdBy and modifiedBy information. |
targetDatabaseCollation | string | Database collation to be used for the target database. |
type | string | The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts". |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
get | select | resource_group_name, managed_instance_name, target_db_name, subscription_id | migrationOperationId, $expand | Retrieve the specified database migration for a given SQL Managed Instance. |
create_or_update | insert | resource_group_name, managed_instance_name, target_db_name, subscription_id | Create a new database migration to a given SQL Managed Instance. | |
create_or_update | replace | resource_group_name, managed_instance_name, target_db_name, subscription_id | Create a new database migration to a given SQL Managed Instance. | |
delete | delete | resource_group_name, managed_instance_name, target_db_name, subscription_id | force | Delete Database Migration resource. |
cancel | exec | resource_group_name, managed_instance_name, target_db_name, subscription_id | Stop in-progress database migration to SQL Managed Instance. | |
cutover | exec | resource_group_name, managed_instance_name, target_db_name, subscription_id | Initiate cutover for in-progress online database migration to SQL Managed Instance. |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
managed_instance_name | string | The name of the target SQL Managed Instance. Required. |
resource_group_name | string | The name of the resource group. The name is case insensitive. Required. |
subscription_id | string | |
target_db_name | string | The name of the target database. Required. |
$expand | string | Complete migration details be included in the response. Default value is None. |
force | boolean | Optional force delete boolean. If this is provided as true, migration will be deleted even if active. Default value is None. |
migrationOperationId | string | Optional migration operation ID. If this is provided, then details of migration operation for that ID are retrieved. If not provided (default), then details related to most recent or current operation are retrieved. Default value is None. |
SELECT examples
- get
Retrieve the specified database migration for a given SQL Managed Instance.
SELECT
id,
name,
backupConfiguration,
endedOn,
kind,
migrationFailureError,
migrationOperationId,
migrationService,
migrationStatus,
migrationStatusDetails,
offlineConfiguration,
provisioningError,
provisioningState,
scope,
sourceDatabaseName,
sourceServerName,
sourceSqlConnection,
sqlServerInstanceId,
startedOn,
systemData,
targetDatabaseCollation,
type
FROM azure.data_migration.database_migrations_sql_mi
WHERE resource_group_name = '{{ resource_group_name }}' -- required
AND managed_instance_name = '{{ managed_instance_name }}' -- required
AND target_db_name = '{{ target_db_name }}' -- required
AND subscription_id = '{{ subscription_id }}' -- required
AND migrationOperationId = '{{ migrationOperationId }}'
AND $expand = '{{ $expand }}'
;
INSERT examples
- create_or_update
- Manifest
Create a new database migration to a given SQL Managed Instance.
INSERT INTO azure.data_migration.database_migrations_sql_mi (
properties,
resource_group_name,
managed_instance_name,
target_db_name,
subscription_id
)
SELECT
'{{ properties }}',
'{{ resource_group_name }}',
'{{ managed_instance_name }}',
'{{ target_db_name }}',
'{{ subscription_id }}'
RETURNING
id,
name,
properties,
systemData,
type
;
# Description fields are for documentation purposes
- name: database_migrations_sql_mi
props:
- name: resource_group_name
value: "{{ resource_group_name }}"
description: Required parameter for the database_migrations_sql_mi resource.
- name: managed_instance_name
value: "{{ managed_instance_name }}"
description: Required parameter for the database_migrations_sql_mi resource.
- name: target_db_name
value: "{{ target_db_name }}"
description: Required parameter for the database_migrations_sql_mi resource.
- name: subscription_id
value: "{{ subscription_id }}"
description: Required parameter for the database_migrations_sql_mi resource.
- name: properties
description: |
Database Migration Resource properties for SQL Managed Instance.
value:
kind: "{{ kind }}"
scope: "{{ scope }}"
provisioningState: "{{ provisioningState }}"
migrationStatus: "{{ migrationStatus }}"
startedOn: "{{ startedOn }}"
endedOn: "{{ endedOn }}"
migrationService: "{{ migrationService }}"
migrationOperationId: "{{ migrationOperationId }}"
migrationFailureError:
code: "{{ code }}"
message: "{{ message }}"
provisioningError: "{{ provisioningError }}"
sourceSqlConnection:
dataSource: "{{ dataSource }}"
authentication: "{{ authentication }}"
userName: "{{ userName }}"
password: "{{ password }}"
encryptConnection: {{ encryptConnection }}
trustServerCertificate: {{ trustServerCertificate }}
sourceDatabaseName: "{{ sourceDatabaseName }}"
sourceServerName: "{{ sourceServerName }}"
targetDatabaseCollation: "{{ targetDatabaseCollation }}"
sqlServerInstanceId: "{{ sqlServerInstanceId }}"
migrationStatusDetails:
migrationState: "{{ migrationState }}"
fullBackupSetInfo:
backupSetId: "{{ backupSetId }}"
firstLSN: "{{ firstLSN }}"
lastLSN: "{{ lastLSN }}"
backupType: "{{ backupType }}"
listOfBackupFiles:
- fileName: "{{ fileName }}"
status: "{{ status }}"
totalSize: {{ totalSize }}
dataRead: {{ dataRead }}
dataWritten: {{ dataWritten }}
copyThroughput: {{ copyThroughput }}
copyDuration: {{ copyDuration }}
familySequenceNumber: {{ familySequenceNumber }}
backupStartDate: "{{ backupStartDate }}"
backupFinishDate: "{{ backupFinishDate }}"
isBackupRestored: {{ isBackupRestored }}
hasBackupChecksums: {{ hasBackupChecksums }}
familyCount: {{ familyCount }}
ignoreReasons:
- "{{ ignoreReasons }}"
lastRestoredBackupSetInfo:
backupSetId: "{{ backupSetId }}"
firstLSN: "{{ firstLSN }}"
lastLSN: "{{ lastLSN }}"
backupType: "{{ backupType }}"
listOfBackupFiles:
- fileName: "{{ fileName }}"
status: "{{ status }}"
totalSize: {{ totalSize }}
dataRead: {{ dataRead }}
dataWritten: {{ dataWritten }}
copyThroughput: {{ copyThroughput }}
copyDuration: {{ copyDuration }}
familySequenceNumber: {{ familySequenceNumber }}
backupStartDate: "{{ backupStartDate }}"
backupFinishDate: "{{ backupFinishDate }}"
isBackupRestored: {{ isBackupRestored }}
hasBackupChecksums: {{ hasBackupChecksums }}
familyCount: {{ familyCount }}
ignoreReasons:
- "{{ ignoreReasons }}"
activeBackupSets:
- backupSetId: "{{ backupSetId }}"
firstLSN: "{{ firstLSN }}"
lastLSN: "{{ lastLSN }}"
backupType: "{{ backupType }}"
listOfBackupFiles: "{{ listOfBackupFiles }}"
backupStartDate: "{{ backupStartDate }}"
backupFinishDate: "{{ backupFinishDate }}"
isBackupRestored: {{ isBackupRestored }}
hasBackupChecksums: {{ hasBackupChecksums }}
familyCount: {{ familyCount }}
ignoreReasons: "{{ ignoreReasons }}"
invalidFiles:
- "{{ invalidFiles }}"
blobContainerName: "{{ blobContainerName }}"
isFullBackupRestored: {{ isFullBackupRestored }}
restoreBlockingReason: "{{ restoreBlockingReason }}"
completeRestoreErrorMessage: "{{ completeRestoreErrorMessage }}"
fileUploadBlockingErrors:
- "{{ fileUploadBlockingErrors }}"
currentRestoringFilename: "{{ currentRestoringFilename }}"
lastRestoredFilename: "{{ lastRestoredFilename }}"
pendingLogBackupsCount: {{ pendingLogBackupsCount }}
backupConfiguration:
sourceLocation:
fileShare:
path: "{{ path }}"
username: "{{ username }}"
password: "{{ password }}"
azureBlob:
authType: "{{ authType }}"
identity:
principalId: "{{ principalId }}"
tenantId: "{{ tenantId }}"
type: "{{ type }}"
userAssignedIdentities: "{{ userAssignedIdentities }}"
storageAccountResourceId: "{{ storageAccountResourceId }}"
accountKey: "{{ accountKey }}"
blobContainerName: "{{ blobContainerName }}"
fileStorageType: "{{ fileStorageType }}"
targetLocation:
storageAccountResourceId: "{{ storageAccountResourceId }}"
accountKey: "{{ accountKey }}"
offlineConfiguration:
offline: {{ offline }}
lastBackupName: "{{ lastBackupName }}"
REPLACE examples
- create_or_update
Create a new database migration to a given SQL Managed Instance.
REPLACE azure.data_migration.database_migrations_sql_mi
SET
properties = '{{ properties }}'
WHERE
resource_group_name = '{{ resource_group_name }}' --required
AND managed_instance_name = '{{ managed_instance_name }}' --required
AND target_db_name = '{{ target_db_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
RETURNING
id,
name,
properties,
systemData,
type;
DELETE examples
- delete
Delete Database Migration resource.
DELETE FROM azure.data_migration.database_migrations_sql_mi
WHERE resource_group_name = '{{ resource_group_name }}' --required
AND managed_instance_name = '{{ managed_instance_name }}' --required
AND target_db_name = '{{ target_db_name }}' --required
AND subscription_id = '{{ subscription_id }}' --required
AND force = '{{ force }}'
;
Lifecycle Methods
- cancel
- cutover
Stop in-progress database migration to SQL Managed Instance.
EXEC azure.data_migration.database_migrations_sql_mi.cancel
@resource_group_name='{{ resource_group_name }}' --required,
@managed_instance_name='{{ managed_instance_name }}' --required,
@target_db_name='{{ target_db_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"migrationOperationId": "{{ migrationOperationId }}"
}'
;
Initiate cutover for in-progress online database migration to SQL Managed Instance.
EXEC azure.data_migration.database_migrations_sql_mi.cutover
@resource_group_name='{{ resource_group_name }}' --required,
@managed_instance_name='{{ managed_instance_name }}' --required,
@target_db_name='{{ target_db_name }}' --required,
@subscription_id='{{ subscription_id }}' --required
@@json=
'{
"migrationOperationId": "{{ migrationOperationId }}"
}'
;