SQL Database Migration Samples
These code samples and step‑by‑step guides help you move existing SQL Server workloads to Azure SQL Database or Azure SQL Managed Instance with minimal downtime.
1️⃣ Data Migration Assistant (DMA)
Use DMA to assess compatibility and migrate schema & data.
View Detailed Steps
▶
- Download Data Migration Assistant.
- Create a new project → Assessment → Select your source SQL Server.
- Run the assessment, resolve any reported issues.
- Switch project type to Migration and map to target Azure SQL Database.
- Execute Schema Migration, then Data Migration.
After migration, validate the database using the sqlpackage verification feature.
2️⃣ Azure Database Migration Service (DMS)
For large‑scale or online migrations, DMS offers continuous replication.
Configuration Script (PowerShell)
▶
# Login to Azure
Connect-AzAccount
# Create a resource group
$rg = "SQLMigRG"
New-AzResourceGroup -Name $rg -Location "EastUS"
# Create an Azure Database Migration Service instance
$dmsName = "sqlmigservice"
New-AzDmsService -ResourceGroupName $rg -Location "EastUS" -Name $dmsName -SkuName "Standard_2vCores"
# Create a migration project
$proj = "SqlMigProject"
New-AzDmsProject -ResourceGroupName $rg -ServiceName $dmsName -Location "EastUS" \
-Name $proj -SourcePlatform "SQL" -TargetPlatform "AzureSQLDatabase"
# Create a migration task (offline migration example)
$taskName = "OfflineMigration"
$sourceConn = "Server=ONPREM-SQL;Database=AdventureWorks;User Id=admin;Password=******;"
$targetConn = "Server=tcp:myazuresql.database.windows.net,1433;Initial Catalog=AdventureWorks;User ID=admin;Password=******;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
New-AzDmsTask -ResourceGroupName $rg -ServiceName $dmsName -ProjectName $proj `
-Name $taskName -TaskType "ConnectToSource.SqlServer" -Input $(
@{SourceConnectionInfo=$sourceConn;TargetConnectionInfo=$targetConn}
)
Monitor the task status in the Azure portal or via Get-AzDmsTask.
3️⃣ SqlPackage CLI for Automated Deployments
Export a DACPAC from your on‑prem database and import it into Azure.
# Export DACPAC sqlpackage /Action:Extract /SourceConnectionString:"Server=ONPREM-SQL;Database=MyDB;User Id=admin;Password=******;" /TargetFile:"MyDB.dacpac" # Import DACPAC to Azure SQL sqlpackage /Action:Publish /SourceFile:"MyDB.dacpac" /TargetConnectionString:"Server=tcp:myazuresql.database.windows.net,1433;Database=MyDB;User ID=admin;Password=******;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Integrate the commands into CI/CD pipelines (Azure DevOps, GitHub Actions).