Technology1 min read

Exporting tables from a SQL Server backup (.bak) to Parquet without restoring it

By · Published by Everything Blog

In short

The newly released FastBCP 1.6 utilizes the ArpeMSBackup driver to parse SQL Server backup files and convert targeted tables directly into Parquet format. During performance benchmarks, the utility exported a 175-million-row table from a 320 GB archive in less than 30 seconds using multi-threaded processing. Compatible with both Linux and Windows, the tool enables downstream ingestion into platforms like PostgreSQL without needing an active source database. However, users must account for specific limitations, including the inability to process encrypted backups or apply filter conditions during export.

Key points

  • Direct extraction removes the necessity of running a live SQL Server instance or performi…: Direct extraction removes the necessity of running a live SQL Server instance or performing lengthy database restore operations.
  • Data exported to Parquet can be ingested into PostgreSQL or older SQL Server editions usi…: Data exported to Parquet can be ingested into PostgreSQL or older SQL Server editions using the FastTransfer companion utility.
  • The extraction process does not replay transaction logs, which leaves concurrently writte…: The extraction process does not replay transaction logs, which leaves concurrently written tables without restored transactional consistency.

Sources checked by our analysis pipeline: 1

FastBCP 1.6: Export Tables from SQL Server Backups

FastBCP 1.6 exports a table from a SQL Server full backup to Parquet, with no restore and no SQL Server instance. On a 320 GB production backup, the first open took 2 min 29 s and later ones 0.3 s. With 24 threads, a 175-million-row table then went to Parquet in 29.6 seconds. FastTransfer can load the files into SQL Server, on any version, or into PostgreSQL.

FastBCP 1.6 reads a table straight out of a SQL Server full backup. You point it at a .bak

file, name a table, and get Parquet files. There is no restore, no SQL Server instance, and no credentials to manage.

Parquet is the only output for now. That is enough to close the loop, though: FastTransfer loads those files into the SQL Server instance of your choice, and that instance can run an older version than the one that took the backup. RESTORE

cannot do that.

A first export

The new connection type is backup_mssql

.

--server

is the directory that holds the backups.--database

is…

Technology