BrainyBeeBrainyBee
ExploreBlogStart Studying
HomeDesigning Microsoft Azure Infrastructure Solutions (AZ-305)Recommend a Solution for Migrating Databases — Lesson
Lesson4,000 words

Recommend a Solution for Migrating Databases — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating databases

Recommend a Solution for Migrating Databases — Lesson

A large international bank prepares its 200-database SQL Server estate for full migration to Azure. The team picks "BACPAC export / import" because it's the option they remember from a tutorial. The first database — a 4 TB transactional system — takes 58 hours to export. By the time it imports, the source has moved ahead by two business days; reconciling the gap takes a week. The architect intervenes: switch to Azure Database Migration Service (DMS) in online mode, which continuously replicates changes from source to target. Cutover for the next database takes ∼20\sim 20∼20 minutes of read-only window instead of 58 hours. This lesson is about choosing the right database-migration tool for each scenario — DMS online vs offline, Managed Instance link, BACPAC, Data Migration Assistant, log shipping — so the cutover window matches the workload's downtime tolerance.

We will work through Azure's database-migration story the way the AZ-305 exam expects you to: tools (DMS, DMA, MI link, SSMA, native backup/restore, BACPAC, log shipping) and decision criteria (size, downtime tolerance, source / target, schema complexity). Reference: the AZ-305 exam study guide, particularly Chapter 4 Skill 4.3 on database migration.

Why This Matters

Databases are usually the hardest part of any migration. The data has gravity, the cutover window matters, schema compatibility issues hide until they bite at the worst time, and consistency must survive transport without loss. The AZ-305 exam tests this LO heavily because the choice of tool determines whether a database migration is a controlled 30-minute event or a multi-day production incident.

The career payoff is concrete: every database modernisation, every "we need to move this DB to Azure" project, every architecture interview at the senior level touches DB migration. If you can match a source-target pair (SQL Server →\to→ MI, Oracle →\to→ Azure SQL, MongoDB →\to→ Cosmos, MySQL →\to→ Flexible Server) to the right tool and pick online vs offline correctly, you will pass this slice and design DB migrations like a senior architect.

Prerequisites

  • Backup/restore in SQL Server. Can you describe full, differential, log backups? — Self-check: which backs up only changed pages?
  • Replication concepts. Are you fluent with synchronous vs asynchronous replication? — Self-check: which has zero RPO?
  • Compatibility levels. Do you know the difference between database compatibility level and SQL Server version? — Self-check: can a 2012-compat-level DB run on SQL Server 2022?
  • Downtime tolerance. Can you frame RTO vs RPO for a cutover? — Self-check: which one is "how recent must data be?"
  • DMA basics. Have you used Data Migration Assistant for compatibility checks? — Self-check: does it migrate data or just assess?

If any of these feels shaky, review LO-12, LO-15, LO-27, and LO-41 before continuing with this lesson.

Learning Objectives

By the end of this lesson, you will be able to:

  1. Analyse a database workload (engine, size, downtime tolerance, schema complexity) and translate it to the right migration tool.
  2. Evaluate trade-offs between DMS (offline / online), MI link, BACPAC, native backup/restore, log shipping, SSMA.
  3. Recommend an online vs offline migration based on workload downtime tolerance.
  4. Design a hybrid migration topology with MI link for SQL Server-to-MI workloads needing minimal cutover.
  5. Recognise anti-patterns — BACPAC for large DBs, offline DMS for tight cutovers, ignoring DMA findings — and rewrite them.
  6. Plan the cutover sequence (final replication, downtime window, validation, decommission).

Building Blocks

Azure Database Migration Service (DMS) — Microsoft's managed migration orchestrator. Formally, Microsoft.DataMigration/services resource (classic) plus newer modular versions per source/target. Two modes: offline (one-shot full transfer with downtime) and online (continuous replication with minimal cutover). It matters because DMS is the canonical migration tool for most SQL / open-source DB migrations.

Offline migration — Source quiesced; full data copied; target activated. Downtime === copy time. Suits small DBs and tolerant workloads.

Online migration — Source remains live; initial bulk copy plus continuous replication of changes; cutover is a brief read-only window for the last delta. Downtime ∼\sim∼ minutes regardless of DB size. Suits large or low-downtime workloads.

MI link — A near-real-time link from on-prem SQL Server (with AG) to Azure SQL Managed Instance. Formally, transactional replication using a distributed AG. Designed for migration but also useable for hybrid DR. It matters because MI link gives a one-way replication path with `< 555-second RPO and minutes-scale cutover for SQL Server →\to→ MI moves.

BACPAC — A portable export format (schema + data) for SQL Server / Azure SQL. Formally, a .bacpac file you export from source and import into target. It matters because BACPAC is the simplest manual path for small DBs — but it is offline-only and slow for large data.

Native backup / restore — Standard SQL Server BACKUP + RESTORE between source and target. For Azure SQL MI, supported via RESTORE FROM URL from a blob with .bak files. Effectively offline.

Log shipping — Asynchronous replication via transaction log backups. Formally, source generates log backups, target restores them. Largely superseded by MI link and AG, but still in use.

Data Migration Assistant (DMA) — A pre-migration assessment tool (covered in LO-41) that surfaces compatibility blockers per database. Also has limited data-migration capability for small DBs.

SQL Server Migration Assistant (SSMA) — Schema + data migration tool for non-Microsoft sources (Oracle, MySQL, Postgres, DB2). Converts PL/SQL to T-SQL and ports data.

Compatibility level — A SQL Server property that determines which SQL features the database supports. Azure SQL DB / MI supports compat levels from 100100100 up; very old DBs (compat ≤90\le 90≤90) need upgrade before migration.

Deep Dive

0. The migration lifecycle

Every database migration follows the same lifecycle, regardless of tool. Recognising the phases helps spot where a project is stuck.

PhaseActivitiesOutput
AssessDMA / SSMA / Azure Migrate SQL AssessmentCompatibility report; target recommendation
PlanChoose tool, sizing, network, cutover windowMigration plan per DB
PreparePre-create target, configure network, set up replication toolingReady-to-replicate target
ReplicateInitial bulk copy + continuous catch-up (for online)Target in sync with source
CutoverQuiesce source, final sync, repoint appsApps live on target
ValidateRow counts, checksums, smoke testsSign-off
DecommissionStop source, archive last backupClosed migration

The exam tests both individual phases and the lifecycle as a whole — the right answer to "which tool?" sometimes depends on which phase the customer is in.

1. Tool selection — by source and target

SourceTargetRecommended tool
SQL Server (any)Azure SQL DBDMS online (or DMA for small)
SQL Server (any)Azure SQL MIMI link (online, near-zero RPO) or DMS
SQL Server (any)SQL on Azure VMNative backup/restore from .bak URL
OracleAzure SQL MISSMA for Oracle
OracleAzure VM (Oracle)Lift-shift the VM (use Azure Migrate or Oracle's tools)
MySQL (on-prem)Azure DB for MySQL FlexibleDMS (offline/online)
PostgreSQL (on-prem)Azure DB for PostgreSQL FlexibleDMS (offline/online)
MongoDBCosmos DB for MongoDBNative tools / DMS for MongoDB
CassandraCosmos DB for CassandraDMS / native
DB2 / SybaseAzure SQLSSMA

[!TIP] When the source is Microsoft SQL Server and downtime is tight, default to MI link (target MI) or DMS online (target DB or MI). Avoid BACPAC for any DB over a few hundred GB.

2. Online vs offline — the cutover question

Loading Diagram...
Figure 1 — Mermaid diagram

[!IMPORTANT] Don't pick online "because it sounds modern". Online has more moving parts and longer total project time; offline is simpler when downtime is acceptable.

3. Size and cutover trade-offs — practical heuristics

A useful rule of thumb table for time-pressed architects:

DB sizeNetwork bandwidthOnline recommended?Offline cutover estimate
<100< 100<100 GBAnyOptionalMinutes
100100100 GB to 111 TB≥1\ge 1≥1 GbpsOptionalHours
111 TB to 101010 TB≥1\ge 1≥1 GbpsStrongly recommendedHours to days offline
>10> 10>10 TBAnyRequired (with Data Box for seed)Days offline (impractical)

The line "online recommended" shifts based on the workload's downtime budget. A read-mostly catalogue might tolerate 444 hours offline at 500500500 GB; a high-write OLTP system might demand ≤5\le 5≤5 minutes regardless of size.

4. DMS — modes and prerequisites

DMS online requires CDC (Change Data Capture) on the source for some configurations, network connectivity over Private Endpoint or VPN, and target schema pre-created (via DMA or scripts). The flow:

Loading Diagram...
Figure 2 — Mermaid diagram
sql
-- Enable CDC on the source database (one-time) USE [OrdersDB]; EXEC sys.sp_cdc_enable_db; -- For each table to be replicated EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'Orders', @role_name = NULL;

[!WARNING] DMS online for some scenarios requires CDC; for others uses log-reading. Confirm via the DMS prerequisites checklist for your specific source/target pair before assuming the source schema is ready.

5. MI link — the SQL-Server-to-MI specialty

MI link is a Microsoft-supported one-way replication from an on-prem SQL Server 2016+2016+2016+ instance (configured as an AG) to an Azure SQL MI. Built on distributed availability groups, it replicates continuously with ≤5\le 5≤5-second RPO.

sql
-- On-prem source: configure the database to be added to an existing AG ALTER AVAILABILITY GROUP [AG-Migration] ADD DATABASE [OrdersDB]; -- Configure distributed AG to MI via Azure portal / scripts -- Cutover: stop writes, wait for catch-up, fail over to MI ALTER AVAILABILITY GROUP [AG-Migration] FAILOVER TO MI;

Cutover with MI link is the cleanest of all SQL paths: a brief read-only window while the final delta replicates, then the application points at MI.

6. Cosmos and open-source DB migrations

SourceTargetTool
MongoDBCosmos DB for MongoDBmongo-import / DMS for MongoDB
CassandraCosmos DB for CassandraNative COPY / DMS
MySQLAzure DB for MySQL FlexDMS online or mysqldump (offline)
PostgreSQLAzure DB for PostgreSQL FlexDMS online or pg_dump / logical replication
Postgres (>1> 1>1 TB)Azure DB for PostgreSQL FlexDMS with parallel partition streams

For Cosmos DB, the question is also which API to target — pick to match the source (MongoDB-source →\to→ MongoDB API), unless you're rebuilding (then NoSQL API is the modern default).

11. Cutover-day checklist

StepAction
Pre-cutover validationVerify continuous replication is current; check error log
Quiesce sourceStop writes (application read-only or shutdown)
Final syncWait for last delta to replicate (or run final BACKUP+RESTORE)
VerifySpot-check row counts and checksums on key tables
Repoint appsUpdate connection strings (App Configuration / Key Vault)
Smoke testRun validation suite
MonitorWatch error rates and performance for 24−7224{-}7224−72 hours
DecommissionAfter confidence period, retire source
kusto
// Find DMS migration tasks in the last 7 days AzureActivity | where TimeGenerated > ago(7d) | where ResourceProvider == "Microsoft.DataMigration" | project TimeGenerated, ResourceId, OperationName=OperationNameValue, ActivityStatusValue, Caller | order by TimeGenerated desc

7. Network and bandwidth planning

Database migrations move large volumes of data over the wire. The exam tests recognising the bandwidth math.

Data volumeBandwidth availableEstimated transfer time
100100100 GB100100100 Mbps∼2.2\sim 2.2∼2.2 hours
111 TB100100100 Mbps∼22\sim 22∼22 hours
111 TB111 Gbps∼2.2\sim 2.2∼2.2 hours
101010 TB111 Gbps∼22\sim 22∼22 hours
101010 TB101010 Gbps (ExpressRoute)∼2.2\sim 2.2∼2.2 hours
>10> 10>10 TBAnyConsider Azure Data Box (offline shipping)

[!TIP] The math is simple: 111 Gbps roughly equals ∼450\sim 450∼450 GB/hour effective (accounting for protocol overhead and bursts). When the source-to-Azure pipe is narrow, online replication will struggle on initial bulk copy regardless of the tool. Consider Azure Data Box for the initial bulk seed and switch to online replication for the delta.

8. Schema conversion and code rewrites

For SQL-Server-to-Azure-SQL migrations within the Microsoft stack, schema is usually portable. For non-Microsoft sources, schema conversion is non-trivial.

Source →\to→ TargetSchema conversion effort
SQL Server →\to→ SQL MIMinimal (mostly compatible)
SQL Server →\to→ Azure SQL DBModerate (no cross-DB queries, no SQL Agent, some T-SQL surface limits)
Oracle →\to→ Azure SQLSignificant (PL/SQL →\to→ T-SQL via SSMA)
MySQL →\to→ Azure DB for MySQLMinimal
PostgreSQL →\to→ Azure DB for PostgreSQLMinimal
DB2 →\to→ Azure SQLSignificant (SQL/PL →\to→ T-SQL via SSMA)
Sybase ASE →\to→ Azure SQLModerate (T-SQL dialect differences)

SSMA produces a per-object compatibility report. Objects fall into three categories: convertible automatically, convertible with manual fix-up, manual conversion required. Plan effort accordingly.

sql
-- After SSMA conversion, validate critical stored procedures EXEC sp_describe_first_result_set @tsql = N'EXEC dbo.GetOrdersByCustomer @CustomerId = 100'; -- Compare result-set shape against the Oracle equivalent before cutover

9. Validation strategies

Every migration needs post-cutover validation. The four standard checks:

CheckWhat it verifies
Row countTotal rows match per table
Checksum / hashRow content matches (per-table CHECKSUM_AGG or hash)
Schema validationAll objects (tables, indexes, FKs, procs) exist on the target
Functional smokeCritical app paths return expected results
sql
-- Row count comparison SELECT t.name, p.rows FROM sys.tables t JOIN sys.partitions p ON p.object_id = t.object_id WHERE p.index_id IN (0,1) ORDER BY p.rows DESC; -- Per-table checksum SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) AS Hash FROM dbo.Orders;

[!WARNING] Row counts alone are not enough. Two tables can have identical row counts and different data (e.g., if a row was updated during replication catch-up). Always include hash or checksum comparison for tier-111 tables.

10. Common cutover-day surprises

SurpriseCauseMitigation
App connectivity fails after repointFirewall rules / private DNS not updatedTest repoint during test migration
Performance degradesIndexes not rebuilt, statistics staleRun UPDATE STATISTICS and rebuild indexes post-cutover
Identity / sequence values divergeIDENTITY seed mismatchReseed DBCC CHECKIDENT to source's last value
TLS / driver version mismatchOld client drivers don't support Azure TLS 1.2+1.2+1.2+Update drivers before cutover
Login / user mapping brokenSQL logins not migrated; SIDs differMigrate logins via sp_help_revlogin then sp_change_users_login (or use Entra ID auth)

[!IMPORTANT] Document and run a cutover dry-run before the real day. The dry-run surfaces all the above except the last (which requires identity changes that may be irreversible without prep).

12. Identity, security, and post-migration hardening

Database security in Azure shifts from network-perimeter ("trust anyone in the corporate VLAN") to identity-and-private-link. The migration is the right moment to align with the modern posture.

Old patternAzure-aligned pattern
SQL logins with shared passwordsEntra ID auth (managed identity for apps; Entra users for humans)
Public TCP 143314331433 exposedPrivate Endpoint; public access disabled
sa used by applicationsPer-app managed identity with least-privilege role
No auditAuditing on; logs to Log Analytics
Transparent Data Encryption (TDE) optionalTDE always on (Azure SQL default)
Customer-managed keys via local HSMTDE-BYOK via Key Vault Managed HSM

[!TIP] Migration is the cheapest moment to make these security upgrades. The team is already touching connection strings and access patterns. Bolting on Entra ID auth after migration costs 5−10×5{-}10\times5−10× as much labour.

13. Cost optimisation for migrated databases

Database cost dominates Azure spend for many migrated estates. Levers to apply at migration time:

LeverSaving
Right-size service tier (avoid Premium when General Purpose fits)40−60%40{-}60\%40−60%
Reserved capacity (111 or 333 year)∼33−55%\sim 33{-}55\%∼33−55%
AHB (Azure Hybrid Benefit) for SQL Server licences∼55%\sim 55\%∼55% off SQL portion
Auto-scale serverless (Azure SQL DB)Per-second billing for sparse workloads
Elastic Pool for many small DBsPool capacity across DBs
Cold-tier read replicasRead scale-out without primary upsizing

The exam often pairs migration with sizing; check that the proposed migration plan also right-sizes the target instead of cloning the on-prem allocation.

Worked Examples

Easy — pick the tool

Problem. A 200200200 GB SQL Server 201920192019 database needs to move to Azure SQL DB. Cutover window: 444 hours. Recommend a tool.

Solution. DMS offline. 200200200 GB transfers in well under 444 hours on a properly sized DMS instance. Online would also work but adds complexity unnecessary for this downtime budget. Run DMA first to confirm Azure SQL DB compatibility.

Medium — large DB, tight window

Problem. A 555 TB SQL Server transactional DB must move to Azure SQL MI with under 303030 minutes of read-only time. Recommend.

Solution. MI link. Configure the source SQL Server's AG with a distributed AG to the target MI. Replicate continuously for days; at cutover, stop writes, wait for catch-up (∼\sim∼ minutes), fail over. Total cutover window: ∼15−30\sim 15{-}30∼15−30 minutes regardless of DB size.

Hard — Oracle migration with schema conversion

Problem. A 1.51.51.5 TB Oracle database with PL/SQL functions must move to Azure SQL MI. Recommend.

Solution. Use SSMA for Oracle to convert the schema and migrate code (PL/SQL →\to→ T-SQL). For data, SSMA can move smaller volumes; for 1.51.51.5 TB, use SSMA's bulk-copy or external ETL (Azure Data Factory copy activity with parallelism). Plan a cutover window proportional to data size, or stage data in advance and run a final delta.

14. Hybrid / coexistence patterns

A real migration rarely cuts everything over on one day. Three common hybrid patterns:

Phased per-database. Move databases in waves. Apps switch connection strings per wave. Risk: app dependencies on multiple DBs may force coordinated cutovers.

Read-replica preview. Stand up an Azure copy as a read replica; gradually shift read-heavy queries; cutover writes last. Works for analytics or reporting workloads.

Dual-write transition. App writes to both source and target during a transition window. Rare; brittle; only used for very critical cutovers with tight RPO.

For most workloads the MI link path achieves the cleanest single-cutover transition while still allowing weeks of replication before the actual switch.

Visual Explanations

Figure 1 — Tool decision

Loading Diagram...
Figure 3 — Mermaid diagram

Figure 2 — Online migration topology

Compiling TikZ diagram…
⏳
Running TeX engine…
This may take a few seconds
Figure 4 — TikZ diagram

Figure 3 — Quick chooser

NeedTool
Small DB, tolerant cutoverBACPAC or native backup/restore
Medium DB, hours of cutover OKDMS offline
Large / tight cutover, SQL Server →\to→ MIMI link
Large / tight cutover, SQL Server →\to→ Azure SQL DBDMS online
OracleSSMA for Oracle
MongoDBNative tools or DMS for MongoDB
Pre-migration compatibilityDMA

Figure 4 — Tool feature comparison

FeatureDMS offlineDMS onlineMI linkBACPACSSMA
Continuous replicationNoYesYesNoNo
Cutover windowHoursMinutesMinutesHoursHours
Source quiesce requiredYesBriefBriefYesYes
Supports schema conversionNoNoNoNoYes
Best sizeSmall to mediumLargeVery largeSmallAny
Source diversityMulti-engineMulti-engineSQL Server onlySQL onlyNon-MS sources

Two more practical notes:

Resource sizing for DMS. DMS itself is a managed service, but it needs adequate compute and network bandwidth to keep up with the replication rate of busy sources. For high-throughput sources, use the Premium SKU and ensure source-to-DMS bandwidth matches expected change volume.

Replication health monitoring. Watch the lag metric. A growing lag during initial bulk means the target tier is undersized; lag during ongoing replication means the network or DMS instance is overwhelmed. Both surface in AzureDiagnostics for Microsoft.DataMigration.

Common Mistakes

❌ Myth: "BACPAC is the standard SQL Server migration path." ✅ Reality: BACPAC is offline and slow. Use it only for small DBs with hours of available downtime. Production migrations of any size prefer DMS or MI link.

❌ Myth: "Online migration is always better." ✅ Reality: Online migration adds prerequisites, replication concerns, and a longer total project time. Use online only when downtime tolerance demands it.

❌ Myth: "Skip DMA — DMS will catch incompatibilities." ✅ Reality: DMS migrates; DMA assesses. Running DMA first surfaces blockers before you waste replication time on an incompatible target.

❌ Myth: "MI link is just MI's version of DMS online." ✅ Reality: MI link is built on distributed AGs and gives a stronger consistency model and lower cutover overhead. It's worth choosing over DMS online when the source is SQL Server →\to→ MI.

Practice Exercises

🟢 Exercise 1. 505050 GB SQL Server 201720172017 →\to→ Azure SQL DB. 222-hour cutover OK.

▶✅ Solution

DMS offline (or BACPAC for the simplest path). DMA pre-check first.

🟡 Exercise 2. 333 TB SQL Server →\to→ Azure SQL MI. 151515-minute cutover required.

▶✅ Solution

MI link. Configure AG + distributed AG; replicate days in advance; cutover by failover.

🟡 Exercise 3. 500500500 GB Oracle →\to→ MI. Cutover window ∼6\sim 6∼6 hours.

▶✅ Solution

SSMA for Oracle for schema conversion and migration. Plan cutover window proportional to data volume; pre-stage if needed.

🔴 Exercise 4. 101010 MongoDB databases (∼100\sim 100∼100 GB each) →\to→ Cosmos DB for MongoDB. Cutover window: 111 hour.

▶✅ Solution

DMS for MongoDB (online mode). Replicate continuously; cutover during the 111-hour window. Validate using application connection-string switching.

🔴 Exercise 5. 202020 MySQL DBs need to move. Mixed sizes (111 GB to 111 TB). Cutover: per-DB negotiable.

▶✅ Solution

DMS online for the large DBs (tight cutover); DMS offline for the small. Run DMA equivalent (mysql_upgrade_check) for compatibility. Sequence by size — start large DBs replicating first while small DBs cutover quickly.

🟢 Exercise 6. True or false: BACPAC migrates data and ongoing changes.

▶✅ Solution

False. BACPAC is a one-shot export-import. Ongoing changes require DMS online or MI link.

🟡 Exercise 7. Sketch the SQL to enable CDC on a source table before DMS online migration.

▶✅ Solution
sql
USE [OrdersDB]; EXEC sys.sp_cdc_enable_db; EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'Orders', @role_name = NULL;

Summary & Concept Map

  • Pick the tool by source / target / downtime tolerance. SQL →\to→ MI, low downtime: MI link. SQL →\to→ DB: DMS online. Oracle: SSMA.
  • Online migrations for tight cutovers; offline for tolerant cutovers.
  • Pre-migration assessment (DMA / SSMA) is mandatory.
  • MI link delivers the cleanest SQL-Server-to-MI cutover.
  • BACPAC is the right answer only for small DBs with tolerant cutovers.
  • Plan the cutover sequence carefully — final delta, repoint, smoke test, decommission.
Loading Diagram...
Figure 5 — Mermaid diagram
All Designing Microsoft Azure Infrastructure Solutions (AZ-305) Study Resources

Related Notes

  • Quick Note — Recommend a Solution for Migrating Databases900 words
  • AZ-305 Exam Map and Design Decision Playbook652 words
  • Unit 1 Capstone — Design identity, governance, and monitoring solutions668 words
  • Unit 1 Roadmap — Design identity, governance, and monitoring solutions639 words
  • Cram Sheet — Design authentication and authorization solutions632 words
  • Design Authentication and Authorization Solutions — Lesson4,263 words
  • Design Studio — Design authentication and authorization solutions734 words
  • Quick Note — Recommend an Authentication Solution758 words
  • Recommend an Authentication Solution — Lesson4,868 words
  • Quick Note — Recommend an Identity Management Solution796 words
  • Recommend an Identity Management Solution — Lesson5,982 words
  • Quick Note — Recommend a Solution for Authorizing Access to Azure Resources745 words

Ready to study Designing Microsoft Azure Infrastructure Solutions (AZ-305)?

Practice tests, flashcards, and all study notes — free, no sign-up.

Start Studying

Ready to study Designing Microsoft Azure Infrastructure Solutions (AZ-305)?

Practice tests, flashcards, and all study notes — free, no sign-up needed.

Start Studying — Free
Designing Microsoft Azure Infrastructure Solutions (AZ-305) ResourcesExplore All HivesBlogHome

© 2026 BrainyBee. Free AI-powered exam prep.

Loading Diagram...
Flowchart, top to bottom. Downtime tolerance connects to Offline migration (BACPAC / DMS offline / native backup) (Hours OK). Downtime tolerance"} -->|Hours OK| Offline["Offline migration (BACPAC / DMS offline / native backup connects to Online migration (DMS online / MI link / AG-based) (Minutes only). Online connects to Size?. Size connects to DMS online suffices ("Small (<100 GB)"). Size connects to Prefer MI link ("Large (>1 TB)"). Offline connects to Size?. Sz connects to BACPAC ("<100 GB"). Sz connects to Native backup/restore ("100 GB - 1 TB"). 1 more statements.
Loading Diagram...
Flowchart, left to right. Source DB (live) connects to DMS initial bulk copy. DMS_Init connects to Target DB (in sync). DMS_CDC connects to Target. Source DB (live)"] --> DMS_Init["DMS initial bulk copy connects to Read-only window. Cutover connects to Final replication catch-up. Final connects to Apps repointed to target.
Loading Diagram...
Flowchart, top to bottom. Source engine? connects to SQL Server. Source engine?"] --> SQL["SQL Server connects to Oracle. Source engine?"] --> SQL["SQL Server connects to MySQL / Postgres. Source engine?"] --> SQL["SQL Server connects to MongoDB / Cassandra. SQL connects to Target?. Target connects to MI link / DMS (MI). Target connects to DMS (DB). Target connects to Backup/restore (VM). 3 more statements.
Loading Diagram...
Flowchart, top to bottom. DB migration connects to Engine?. Engine connects to SQL Server. Engine connects to Oracle. Engine connects to MySQL / Postgres. Engine connects to MongoDB / Cassandra. SQLSrv connects to Target?. Tgt connects to MI. Tgt connects to Azure SQL DB. 7 more statements.