Modern tables have a clean primary key and an index on it. Legacy tables often don't. Twenty years of patches leave tables with hundreds of millions of rows, keys made of three columns, and sometimes no usable index at all. A copy strategy that assumes a tidy schema stalls on the first page.
Release 2.3.20260923 added four options to Synchronize for exactly these tables.

1. Skip the initial row count
On a very large table, SELECT COUNT(*) can take longer than the copy itself. With "Don't count rows before starting", dbSlice starts reading immediately. The progress bar shows rows processed instead of "X of Y", and the final report still shows the real total.
2. Tie-break columns for composite keys
Paging by key needs a unique order. When the key is made of several columns, set the extra ones as tie-break columns: pages are read with a predicate that compares column by column, which works the same on every engine and avoids comparing a concatenated value whose sort order can differ from the comparison rules.
3. Read without ordering when there is no index
If no column has an index, every ORDER BY page forces the database to sort the whole table again. "Read without ordering" opens a single cursor without ORDER BY and cuts it into batches on the dbSlice side: one scan instead of one sort per page.
4. Skip rows with a duplicate key
In insert-only modes, one duplicate row used to fail a whole page. With "Skip rows with duplicate key", the batch is written row by row and only the colliding rows are skipped, each one reported in the log.
Which to use
| Symptom | Option |
|---|---|
| The job "hangs" before the first row | Skip the initial count |
| Key has more than one column | Tie-break columns |
| Each page gets slower; the table has no index | Read without ordering |
| Insert fails on a few duplicates in dirty data | Skip rows with duplicate key |
Before production: rehearse on a copy of the table. These options trade some safety nets (exact progress, one-pass validation) for the ability to finish; follow them with a key-by-key compare.
The free version of dbSlice is on the Microsoft Store; writing to a target database needs a Desktop or Server license.


