Skip to main content

SQL Server as Migration Tracking

The migration tracking database is required for every MigratorXpress migration and must be SQL Server. It records run history, per-table task status, row counts, constraint copy results, and event logs. This database also enables --resume for interrupted migrations.

For the complete connection reference, authentication modes (classic / ODBC / connection string), and troubleshooting, see the canonical SQL Server page.

Tracking-specific Permissions

-- Full access to the migration tracking database
ALTER ROLE db_owner ADD MEMBER migratorxpress_user;

The tracking user needs full access to create and manage the internal tables that record migration runs, task statuses, and resume state.

Migration DB Modes

The --migration_db_mode flag controls how MigratorXpress treats the tracking schema at startup.

ModeBehavior
preserve (default)Keep tracking data; required to use --resume
truncateClear data, keep schema
dropDrop and recreate the tracking schema

Example Auth Entry

{
"migration_tracking": {
"ds_type": "mssql",
"auth_mode": "classic",
"info": {
"username": "$env{MIG_USER}",
"password": "$env{MIG_PASSWORD}",
"server": "sql-host.company.com",
"port": 1433,
"database": "migration_log"
}
}
}

Reference it on the command line with --migration_db_auth_id migration_tracking.

See Also

Copyright © 2026 Architecture & Performance.