Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to:
SQL Server
The migration dashboard is a convenient view that shows all instances of SQL Server enabled by Azure Arc and their migration readiness. SQL Server enabled by Azure Arc automatically produces an assessment for migration to Azure. This assessment plays a vital role in the success of your cloud migration and modernization journey. With this dashboard, you can track the migration journey at scale. The readiness is projected as properties into the Azure management plane, allowing the use of organizational, tagging, and querying capabilities native to Azure.
Note
As a preview feature, the technology presented in this article is subject to Supplemental Terms of Use for Microsoft Azure Previews.
The latest updates are available in the release notes for SQL Server enabled by Azure Arc.
The dashboard provides:
- An overview of discovered SQL Server instances and databases.
- An overview of the SQL Server instances with generated assessments.
- A migration readiness summary for each Azure SQL offering.
- Rich filtering capabilities that enable you to tailor the view to your needs.
Review migration assessment
The migration dashboard can be accessed as follows:
- In the Azure portal, search for Azure Arc and navigate to the Arc Center.
- In the left ribbon, expand Data services and navigate through into SQL Server instances
- Now, navigate to the Migration dashboard tab
Summary of discovered SQL Server instances and databases
The first section of the dashboard provides an overview of all SQL Server instances and databases accessible to you. You can also see the distribution of the instances by version and edition.
Summary of SQL Server migration assessment
This section of the dashboard provides you with an overview of the migration assessment and migration readiness of the instances of SQL Server enabled by Azure Arc. You can see how many instances have assessments available. The migration readiness for each Azure SQL offering is separately shown.
Azure Resource Graph Query
Azure Resource Graph provides efficient and performant means to query the readiness properties of the SQL Server instances enabled by Azure Arc. Here are some sample queries.
resources
| where type == 'microsoft.azurearcdata/sqlserverinstances'
| where properties.migration.assessment.assessmentUploadTime > ago(14d) and properties.migration.assessment.enabled == true and isnotnull(parse_json(properties.migration.assessment.skuRecommendationResults))
| extend azureSqlDatabaseRecommendationStatus = tostring(properties.migration.assessment.skuRecommendationResults.azureSqlDatabase.recommendationStatus)
| extend azureSqlManagedInstanceRecommendationStatus = tostring(properties.migration.assessment.skuRecommendationResults.azureSqlManagedInstance.recommendationStatus)
| extend azureSqlVirtualMachineRecommendationStatus = tostring(properties.migration.assessment.skuRecommendationResults.azureSqlVirtualMachine.recommendationStatus)
| extend serverAssessments = tostring(properties.migration.assessment.serverAssessments)
| extend subscriptionId = extract(@"/subscriptions/([^/]+)", 1, id)
| extend resourceGroup = extract(@"/resource[g/G]roups/([^/]+)", 1, id)
| mv-expand platformStatus = pack_array(
pack("platform", "Azure SQL Database", "status", azureSqlDatabaseRecommendationStatus),
pack("platform", "Azure SQL Managed Instance", "status", azureSqlManagedInstanceRecommendationStatus),
pack("platform", "Azure SQL Virtual Machine", "status", azureSqlVirtualMachineRecommendationStatus)
)
| extend platformIncludedString = strcat('"AppliesToMigrationTargetPlatform":', strcat('"', replace(" ", "", tolower(tostring(platformStatus["platform"]))), '"'))
| extend platformHasIssues = tolower(serverAssessments) has tolower(platformIncludedString)
| project Platform = tostring(platformStatus["platform"]), status = tostring(platformStatus["status"]), tostring(serverAssessments), id, platformHasIssues
| extend finalStatus = case(
status == "Ready" and platformHasIssues, "Ready with Conditions",
status == "Ready", "Ready",
status == "NotReady", "NotReady",
isnull(status) or status !in ("Ready", "NotReady", "Ready with Conditions"), "Unknown",
"Unknown")
| summarize TotalAssessed = count(), Ready = countif(finalStatus == "Ready"), NotReady = countif(finalStatus == "NotReady"),
ReadyWithConditions = countif(finalStatus == "Ready with Conditions"), Unknown = countif(finalStatus == "Unknown")
by Platform
az graph query -q "resources | where type =~ 'microsoft.hybridcompute/machines' | extend machineId = tolower(tostring(id)), datacenter = iif(isnull(tags.Datacenter), '', tags.Datacenter), status = tostring(properties.status) | extend mssqlinstalled = coalesce(tobool(properties.detectedProperties.mssqldiscovered),false) | extend pgsqlinstalled = coalesce(tobool(properties.detectedProperties.pgsqldiscovered),false) | extend mysqlinstalled = coalesce(tobool(properties.detectedProperties.mysqldiscovered),false) | extend osSku = properties.osSku, osName = properties.osName, osVersion = properties.osVersion | extend coreCount = tostring(properties.detectedProperties.logicalCoreCount), totalPhysicalMemoryinGB = tostring(properties.detectedProperties.totalPhysicalMemoryInGigabytes) | extend operatingSystem = iif(isnotnull(osSku), osSku, osName) | where mssqlinstalled or mysqlinstalled or pgsqlinstalled | project id ,name, type, resourceGroup, subscriptionId, ___location, kind, osVersion, status, osSku,coreCount,totalPhysicalMemoryinGB,tags, mssqlinstalled, mysqlinstalled, pgsqlinstalled | sort by (tolower(tostring(name))) asc"
Related content
- Assess migration readiness (preview) - SQL Server enabled by Azure Arc
- Assessment rules for SQL Server to Azure SQL Managed Instance migration
- Assessment rules for SQL Server to Azure SQL Database migration
- Migrate SQL Server to Azure SQL
- SQL Server enabled by Azure Arc
- Deployment options for SQL Server enabled by Azure Arc