az datamigration
Note
This reference is part of the datamigration extension for the Azure CLI (version 2.15.0 or higher). The extension will automatically install the first time you run an az datamigration command. Learn more about extensions.
Manage Data Migration.
Commands
Name | Description | Type | Status |
---|---|---|---|
az datamigration get-assessment |
Start assessment on SQL Server instance(s). |
Extension | GA |
az datamigration get-sku-recommendation |
Give SKU recommendations for Azure SQL offerings. |
Extension | GA |
az datamigration login-migration |
Migrate logins from the source Sql Servers to the target Azure Sql Servers. |
Extension | GA |
az datamigration performance-data-collection |
Collect performance data for given SQL Server instance(s). |
Extension | GA |
az datamigration register-integration-runtime |
Register Database Migration Service on Integration Runtime. |
Extension | GA |
az datamigration sql-db |
Manage database migrations to SQL DB. |
Extension | GA |
az datamigration sql-db cancel |
Stop in-progress database migration to SQL DB. |
Extension | GA |
az datamigration sql-db create |
Create a new database migration to a given SQL Db. This command can migrate data from the selected source database tables to the target database tables. If the target database have no table existing, please use New-AzDataMigrationSqlServerSchema command to migrate schema objects from source database to target databse. The link of New-AzDataMigrationSqlServerSchema is https://learn.microsoft.com/cli/azure/datamigration?view=azure-cli-latest#az-datamigration-sql-server-schema. |
Extension | GA |
az datamigration sql-db delete |
Delete an in-progress or completed database migration to SQL DB. |
Extension | GA |
az datamigration sql-db show |
Retrieve the specified database migration for a given SQL DB. |
Extension | GA |
az datamigration sql-db wait |
Place the CLI in a waiting state until a condition of the datamigration sql-db is met. |
Extension | GA |
az datamigration sql-managed-instance |
Manage database migrations to SQL Managed Instance. |
Extension | GA |
az datamigration sql-managed-instance cancel |
Stop in-progress database migration to SQL Managed Instance. |
Extension | GA |
az datamigration sql-managed-instance create |
Create a new database migration to a given SQL Managed Instance. |
Extension | GA |
az datamigration sql-managed-instance cutover |
Initiate cutover for in-progress online database migration to SQL Managed Instance. |
Extension | GA |
az datamigration sql-managed-instance show |
Retrieve the specified database migration for a given SQL Managed Instance. |
Extension | GA |
az datamigration sql-managed-instance wait |
Place the CLI in a waiting state until a condition of the datamigration sql-managed-instance is met. |
Extension | GA |
az datamigration sql-server-schema |
Migrate schema from the source Sql Servers to the target Azure Sql Servers. |
Extension | GA |
az datamigration sql-service |
Manage Database Migration Service. |
Extension | GA |
az datamigration sql-service create |
Create Database Migration Service. |
Extension | GA |
az datamigration sql-service delete |
Delete Database Migration Service. |
Extension | GA |
az datamigration sql-service delete-node |
Delete the integration runtime node. |
Extension | GA |
az datamigration sql-service list |
Retrieve all Database Migration Services in the resource group. And Retrieve all Database Migration Services in the subscription. |
Extension | GA |
az datamigration sql-service list-auth-key |
Retrieve the List of Authentication Keys for Self Hosted Integration Runtime. |
Extension | GA |
az datamigration sql-service list-integration-runtime-metric |
Retrieve the registered Integration Runtine nodes and their monitoring data for a given Database Migration Service. |
Extension | GA |
az datamigration sql-service list-migration |
Retrieve the List of database migrations attached to the service. |
Extension | GA |
az datamigration sql-service regenerate-auth-key |
Regenerate a new set of Authentication Keys for Self Hosted Integration Runtime. |
Extension | GA |
az datamigration sql-service show |
Retrieve the Database Migration Service. |
Extension | GA |
az datamigration sql-service update |
Update Database Migration Service. |
Extension | GA |
az datamigration sql-service wait |
Place the CLI in a waiting state until a condition of the datamigration sql-service is met. |
Extension | GA |
az datamigration sql-vm |
Manage database migrations to SQL VM. |
Extension | GA |
az datamigration sql-vm cancel |
Stop in-progress database migration to SQL VM. |
Extension | GA |
az datamigration sql-vm create |
Create a new database migration to a given SQL VM. |
Extension | GA |
az datamigration sql-vm cutover |
Initiate cutover for in-progress online database migration to SQL VM. |
Extension | GA |
az datamigration sql-vm show |
Retrieve the specified database migration for a given SQL VM. |
Extension | GA |
az datamigration sql-vm wait |
Place the CLI in a waiting state until a condition of the datamigration sql-vm is met. |
Extension | GA |
az datamigration tde-migration |
Migrate TDE certificate from source SQL Server to the target Azure SQL Server. |
Extension | GA |
az datamigration get-assessment
Start assessment on SQL Server instance(s).
az datamigration get-assessment [--config-file-path]
[--connection-string]
[--output-folder]
[--overwrite]
Examples
Run SQL Assessment on given SQL Server using connection string.
az datamigration get-assessment --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\AssessmentOutput" --overwrite
Run SQL Assessment on given SQL Server using assessment config file.
az datamigration get-assessment --config-file-path "C:\Users\user\document\config.json"
Run SQL Assessment on multiple SQL Servers in one call using connection string.
az datamigration get-assessment --connection-string "Data Source=LabServer1.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" "Data Source=LabServer2.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\AssessmentOutput" --overwrite
Optional Parameters
Path of the ConfigFile.
SQL Server Connection Strings.
Output folder to store assessment report.
Enable this parameter to overwrite the existing assessment report.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration get-sku-recommendation
Give SKU recommendations for Azure SQL offerings.
az datamigration get-sku-recommendation [--config-file-path]
[--database-allow-list]
[--database-deny-list]
[--display-result]
[--elastic-strategy]
[--end-time]
[--output-folder]
[--overwrite]
[--scaling-factor]
[--start-time]
[--target-percentile]
[--target-platform]
[--target-sql-instance]
Examples
Get SKU recommendation for given SQL Server using command line.
az datamigration get-sku-recommendation --output-folder "C:\PerfCollectionOutput" --database-allow-list AdventureWorks1 AdventureWorks2 --display-result --overwrite
Get SKU recommendation for given SQL Server using assessment config file.
az datamigration get-sku-recommendation --config-file-path "C:\Users\user\document\config.json"
Optional Parameters
Path of the ConfigFile.
Space separated list of names of databases to be allowed for SKU recommendation consideration while excluding all others. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null.
Space separated list of names of databases to not be considered for SKU recommendation. Only set one of the following or neither: databaseAllowList, databaseDenyList. Default: null.
Whether or not to print the SKU recommendation results to the console. Enable this parameter to display result.
Whether or not to use the elastic strategy for SKU recommendations based on resource usage profiling. Enable this parameter to use elastic strategy.
UTC end time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered.
Output folder where performance data of the SQL Server is stored. The value here must be the same as the one used in PerfDataCollection.
Whether or not to overwrite any existing SKU recommendation reports. Enable this paramater to overwrite.
Scaling (comfort) factor used during SKU recommendation. For example, if it is determined that there is a 4 vCore CPU requirement with a scaling factor of 150%, then the true CPU requirement will be 6 vCores.
UTC start time of performance data points to consider during aggregation, in YYYY-MM-DD HH:MM format. Only used for baseline (non-elastic) strategy. Default: all data points collected will be considered.
Percentile of data points to be used during aggregation of the performance data. Only used for baseline (non-elastic) strategy.
Target platform for SKU recommendation: either AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine, or Any. If Any is selected, then SKU recommendations for all three target platforms will be evaluated, and the best fit will be returned.
Name of the SQL instance for which SKU should be recommendeded. Default: outputFolder will be scanned for files created by the PerfDataCollection action, and recommendations will be provided for every instance found.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration login-migration
Migrate logins from the source Sql Servers to the target Azure Sql Servers.
az datamigration login-migration [--aad-domain-name]
[--config-file-path]
[--csv-file-path]
[--list-of-login]
[--output-folder]
[--src-sql-connection-str]
[--tgt-sql-connection-str]
Examples
Run Migrate logins from the source Sql Servers to the target Azure Sql Servers using Parameters.
az datamigration login-migration --src-sql-connection-str "data source=servername;user id=userid;password=;initial catalog=master;TrustServerCertificate=True" --tgt-sql-connection-str "data source=servername;user id=userid;password=;initial catalog=master;TrustServerCertificate=True" --csv-file-path "C:\CSVFile" --list-of-login "loginname1" "loginname2" --output-folder "C:\OutputFolder" --aad-domain-name "AADDomainName"
Run Migrate logins from the source Sql Servers to the target Azure Sql Servers using config file.
az datamigration login-migration --config-file-path "C:\Users\user\document\config.json"
Optional Parameters
Required if Windows logins are included in the list of logins to be migrated.
Path of the ConfigFile.
Location of CSV file of logins. Use only one parameter between this and listOfLogin.
List of logins in string format. If large number of logins need to be migrated, use CSV file option.
Default: %LocalAppData%/Microsoft/SqlLoginMigrations) Folder where logs will be written.
Connection string(s) for the source SQL instance(s), using the formal connection string format.
Connection string(s) for the target SQL instance(s), using the formal connection string format.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration performance-data-collection
Collect performance data for given SQL Server instance(s).
az datamigration performance-data-collection [--config-file-path]
[--connection-string]
[--number-of-iteration]
[--output-folder]
[--perf-query-interval]
[--static-query-interval]
[--time]
Examples
Collect performance data of a given SQL Server using connection string.
az datamigration performance-data-collection --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\PerfCollectionOutput" --number-of-iteration 5 --perf-query-interval 10 --static-query-interval 60
Collect performance data of multiple SQL Servers in one call using connection string.
az datamigration performance-data-collection --connection-string "Data Source=LabServer1.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" "Data Source=LabServer2.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\PerfCollectionOutput" --number-of-iteration 5 --perf-query-interval 10 --static-query-interval 60
Collect performance data of a given SQL Server using assessment config file.
az datamigration performance-data-collection --config-file-path "C:\Users\user\document\config.json"
Collect performance data of a given SQL Server by specifying a time limit. If the time limit specified is before the complition of a iteration cycle, the process will end without saving the last cycle performance data.
az datamigration performance-data-collection --connection-string "Data Source=LabServer.database.net;Initial Catalog=master;Integrated Security=False;User Id=User;Password=password" --output-folder "C:\PerfCollectionOutput" --number-of-iteration 5 --perf-query-interval 10 --static-query-interval 60 --time 60
Optional Parameters
Path of the ConfigFile.
SQL Server Connection Strings.
Number of iterations of performance data collection to perform before persisting to file. For example, with default values, performance data will be persisted every 30 seconds * 20 iterations = 10 minutes. Minimum: 2.
Output folder to store performance data.
Interval at which to query performance data, in seconds.
Interval at which to query and persist static configuration data, in seconds.
Time after which the command execution automatically stops, in seconds. If this parameter is not specified manual intervention will be required to stop the command execution.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration register-integration-runtime
Register Database Migration Service on Integration Runtime.
az datamigration register-integration-runtime --auth-key
[--installed-ir-path]
[--ir-path]
Examples
Register Sql Migration Service on Self Hosted Integration Runtime.
az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc"
Install Integration Runtime and register a Sql Migration Service on it.
az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc" --ir-path "C:\Users\user\Downloads\IntegrationRuntime.msi"
Read the Integration Runtime from given installation location.
az datamigration register-integration-runtime --auth-key "IR@00000-0000000-000000-aaaaa-bbbb-cccc" --installed-ir-path "D:\My Softwares\Microsoft Integration Runtime\5.0"
Required Parameters
AuthKey of SQL Migration Service.
Optional Parameters
Version folder path in the Integration Runtime installed location. This can be provided when IR is installed but the command is failing to read it. Format: "\Microsoft Integration Runtime<Version>".
Path of Integration Runtime MSI.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration sql-server-schema
Migrate schema from the source Sql Servers to the target Azure Sql Servers.
az datamigration sql-server-schema [--action {DeploySchema, GenerateScript, MigrateSchema}]
[--config-file-path]
[--input-script-file-path]
[--output-folder]
[--src-sql-connection-str]
[--tgt-sql-connection-str]
Examples
Run Migrate database objects from the source SQL Server to the target Azure SQL Database using Parameters.
az datamigration sql-server-schema --action "MigrateSchema" --src-sql-connection-str "Server=;Initial Catalog=;User ID=;Password=" --tgt-sql-connection-str "Server=;Initial Catalog=;User ID=;Password="
Run Generate TSQL schema script from the source SQL Server using Parameters.
az datamigration sql-server-schema --action "GenerateScript" --src-sql-connection-str "Server=;Initial Catalog=;User ID=;Password=" --tgt-sql-connection-str "Server=;Initial Catalog=;User ID=;Password=" --output-folder "C:\OutputFolder"
Run Deploy TSQL script to the target Azure SQL Database using Parameters.
az datamigration sql-server-schema --action "GenerateScript" --src-sql-connection-str "Server=;Initial Catalog=;User ID=;Password=" --tgt-sql-connection-str "Server=;Initial Catalog=;User ID=;Password=" --input-script-file-path "C:\OutputFolder\script.sql"
Run Migrate database objects from the source SQL Server to the target Azure SQL Database using ConfigFile.
az datamigration sql-server-schema --config-file-path "C:\configfile.json"
Optional Parameters
Select one schema migration action. MigrateSchema is to migrate the database objects to Azure SQL Database target. GenerateScript is to generate an editable TSQL schema script that can be used to run on the target to deploy the objects. DeploySchema is to run the TSQL script generated from -GenerateScript action on the target to deploy the objects.
Path of the ConfigFile. Accepted parameter names in configfile.json is Action, sourceConnectionString, targetConnectionString, inputScriptFilePath and outputFolder.
Location of an editable TSQL schema script. Use this parameter only with DeploySchema Action.
Default: %LocalAppData%/Microsoft/SqlSchemaMigration) Folder where logs will be written and the generated TSQL schema script by GenerateScript Action.
Connection string for the source SQL instance, using the formal connection string format.
Connection string for the target SQL instance, using the formal connection string format.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.
az datamigration tde-migration
Migrate TDE certificate from source SQL Server to the target Azure SQL Server.
az datamigration tde-migration [--database-name]
[--network-share-domain]
[--network-share-password]
[--network-share-path]
[--network-share-user-name]
[--source-sql-connection-string]
[--target-managed-instance-name]
[--target-resource-group-name]
[--target-subscription-id]
Examples
Migrate TDE certificate from source SQL Server to the target Azure SQL Server.
az datamigration tde-migration --source-sql-connection-string "data source=servername;user id=userid;password=;initial catalog=master;TrustServerCertificate=True" --target-subscription-id "00000000-0000-0000-0000-000000000000" --target-resource-group-name "ResourceGroupName" --target-managed-instance-name "TargetManagedInstanceName" --network-share-path "\NetworkShare\Folder" --network-share-domain "NetworkShare" --network-share-user-name "NetworkShareUserName" --network-share-password "" --database-name "TdeDb_0" "TdeDb_1" "TdeDb_2"
Optional Parameters
Source database name.
Network share domain.
Network share password.
Network share path.
Network share user name.
Connection string for the source SQL instance, using the formal connection string format.
Name of the Azure SQL Server.
Resource group name of the target Azure SQL server.
Subscription Id of the target Azure SQL server.
Global Parameters
Increase logging verbosity to show all debug logs.
Show this help message and exit.
Only show errors, suppressing warnings.
Output format.
JMESPath query string. See http://jmespath.org/ for more information and examples.
Name or ID of subscription. You can configure the default subscription using az account set -s NAME_OR_ID
.
Increase logging verbosity. Use --debug for full debug logs.