Data migration, replication and sync for the leading databases

Move the data. Keep both sides in sync. Prove they match.

Try it free — Microsoft Store ↗ See pricing →

In production for 6+ years · 14-day money-back · Runs on your machine

SOURCEsqlserver://erp.dbo.OrdersTARGETpostgres://erp.public.orders
rows read
12,480,316
rows written
12,480,316
missing in target
0
different values
0

IDENTICAL 00:04:12

Either side: SQL Server · PostgreSQL · Oracle · MySQL · MariaDB · Firebird · SQLite · Caché / IRIS

From first copy to cutover

  1. Step 1

    Migrate once

    Copy tables between engines with type mapping, a key-by-key diff and on-screen checks before writing.

    Migration guides →
    1 source · 2 target · 3 key column used to match rows
  2. Step 2

    Keep in sync until cutover

    Upsert, insert-new or incremental runs every night while the old system is still live. Legacy and new systems, on-premises and cloud, a database and a CRM — they share data for months. dbSlice keeps them in step as scheduled jobs, inside your own infrastructure.

    Sync guide →
    Page 13: 1,300,000/1,452,372 processed
    Page 14: 1,400,000/1,452,372 processed
    Page 15: 1,452,372/1,452,372 processed
    Done: 1,452,372 read, 12,480 inserted, 3,911 upsert/update in 107.0s
  3. Step 3

    Prove they match

    Identify missing or divergent records, inspect column differences and export IDs for a focused correction.

    Compare source and target →
    1 summary: 16 columns, 9 differences · 2 a column that exists only in the source
  4. Step 4

    Cut over

    Transactional batches, resume from a checkpoint, retries on transient failures, and a history of every run. One job, one schedule, one log. Resumes where it stopped and reports by e-mail and webhook.

    How data coexistence works →
    1 Compare · 2 equal counts on source and target · 3 0 missing · 4 0 rows with different values

See the operation before you run it

Source, target, mode, mappings and progress in one screen.

Replicator: copy many tables in one run

Pick the tables and copy them all in one run, parents before children, several tables in parallel. Use it to move a whole set of tables to another database or to refresh a test environment.

Measured numbers, with their conditions

RunRowsTimeRateConditions
Copy/sync in production12.96 bn1 d 16 h 40 min≈88,500/sLive production table, 40 columns and 9 indexes; network and databases tuned. Details
Initial load into Azure SQL31.4 m≈30 min≈17,200/sSQLite source on a local disk, desktop app, September 2026, before our September and October optimizations.
Restore 1 million missing rows in PostgreSQL1 m10.6 sTime before: 21 minTemporary-table upsert option on; SQL Server 2022 → PostgreSQL 17 on the same host, lab.

Throughput depends on volume, network, engines, row width, tuning and transformations. Your numbers will differ. Full method →

Made for production databases

Running in production for more than six years in mission-critical environments, across multiple data centers and on-premises, with SQL Server, PostgreSQL, Aurora and InterSystems Caché/IRIS. Read the customer stories →

  • Environments you can't confuseDEV, QA, UAT and production are named and color-coded; dbSlice warns before an operation crosses them.
  • Your database stays yoursIt reads and writes rows; it does not create objects in your databases by default.
  • Protected credentialsConnection profiles are encrypted on your machine and job files carry no passwords.
  • Safe runsTransactional batches, resume from a checkpoint, retries on transient failures, and a history of every run.

What touches your data

dbSlice runs where you put it: your Windows machine or server, or your own Docker. It reads the source by key in small batches and writes only rows to the target. By default it creates nothing in your databases, and dbSlice never sends database rows to Thinwork. If an unexpected error happens, you can choose to e-mail the details to support: you see the text before you send it.

dbSlice runs on your machine or in your Docker. It reads the source by key in small batches and writes only rows to the target. By default it creates nothing in your databases. Database rows do not go to Thinwork. With Thinwork, only license activation and renewal, the update check and download, and the release notes list leave your network, with no database rows. An error report e-mail goes to Thinwork only if you choose to send it, after you review it; an error message can quote a value. Destinations you configure yourself (e-mail, webhook, REST, SOAP, gRPC, brokers, telemetry) receive what you send them.

Your network

Source databaseread by key, in small batches
↓
dbSliceyour Windows machine or server, or your own Docker
↓
Target databaseonly rows written; read-only asks first

By default, nothing is created in your databases: no triggers, tables or agents. dbSlice never sends database rows to Thinwork.

Leaves your network

With Thinwork, no database rows sent:
  • license activation and renewal
  • update check and download
  • release notes list
  • an error report e-mail, only if you choose to send it (you review it; an error text may quote a value)
Only if you set them up:
  • e-mail (SMTP), webhook, REST API
  • SOAP (and its WSDL), gRPC, broker
  • your telemetry collector

The leading databases, either side

One license covers all of them. New databases arrive as regular updates. Also writes to MongoDB, Cassandra, Elasticsearch, Couchbase and Redis.

Any of these, as source or target:

  • SQL Server
  • PostgreSQL
  • Oracle
  • MySQL
  • MariaDB
  • Firebird
  • SQLite
  • Caché / IRIS

Including InterSystems Caché/IRIS and Firebird, which few migration tools cover.

Also on Linux, in Docker: the same tools in a browser, with a scheduler and an API. Linux edition →

One user. One device. Your eligible version remains yours.

  • Desktop Edition

    US$ 89.99

    1 named user · 1 activated device · one-time payment

  • Windows Server Edition

    US$ 199.99

    1 Windows Server installation · one-time payment

  • Linux Server Edition (Docker)

    US$ 299.99 / year

    1 Linux server, multiple instances (Docker) · annual subscription

See pricing and buy → Desktop and Windows Server: the license includes the Windows GUI, CLI, 12 months of updates and standard support.

Who builds dbSlice

Junior Oliveira, Thinwork

A small team at Thinwork, a software company in business since 2007, led by Junior Oliveira (40 years in IT). Every e-mail is read by the people who build dbSlice. About Thinwork and dbSlice →

Guides

Migrate by pair

Sync until cutover

Prove and test

All guides →