SQLTreeo Restore · Installation

Getting started

Install SQLTreeo Restore, open a SQL Server .bak file without a SQL Server, look at its tables and rows, and export or copy only the tables you need.

SQLTreeo Restore is a Windows desktop application that opens SQL Server backup files (.bak) by itself. It shows what is inside, lets you look at the rows of any table, and exports or copies only the tables you pick. The backup file is only read; nothing in it is changed.

Install

Download SQLTreeo Restore from the downloads page. SqlRestore-win-Setup.exe installs it for your Windows user, needs no administrator rights and keeps it up to date. The portable zip runs from any folder and does not update itself. Windows 10 or 11, 64-bit; no .NET installation is needed and no SQL Server.

There is no trial. Opening backups and looking at them is free, without a time limit. Without a license key, export and copy write the first 1,000 rows of each table.

Open a backup

  1. On the start page choose Open backup file…, pick a recent file, or drag a .bak (or a log backup, .trn) onto the window.
  2. The backup page shows the backup set: database, server, SQL Server version, when it started and finished, its size, and whether it is full, differential, copy-only or compressed. When the file holds several backup sets, a list lets you pick one.
  3. Database files lists the files with their filegroups and sizes, as RESTORE FILELISTONLY does.
  4. The table list shows every user table with its schema, rows, reserved, data, index and unused size, whether it is a heap or clustered, its number of indexes and when it was created and changed.

A large backup is read in one pass with progress in percent and gigabytes, and Cancel stops it. The file is not locked while it is open.

Look at a table

Select a table to see its columns with their data types and its first 1,000 rows. The search box above the list filters the tables by name.

Rows come straight from the backup. A table whose rows are missing from the backup (a differential on its own, a cut-off file, a striped backup with a file missing) says so instead of showing an empty table.

Backups that need a little more

  • Encrypted backups. A backup made WITH ENCRYPTION (AES) or of a TDE database names the certificate it needs. Choose Add certificate… in its warning, pick the .cer and .pvk files that BACKUP CERTIFICATE wrote, and enter the password. Certificates are listed under Settings › Certificates. TRIPLE_DES_3KEY is not supported.
  • Striped backups. Open any one of the files: the other files of the backup are read from the same folder. The page says over how many files the backup is striped, and names a file that is missing.
  • Differential backups. Choose Combine with full backup…. SQLTreeo Restore looks for the full backup in the same file, in the same folder or in a file you choose, and shows the tables and rows as they were at the differential. A full backup that the differential does not belong to is refused.

Export tables to CSV

  1. Tick the tables you want.
  2. Choose Export to CSV… and pick a folder.

You get one UTF-8 file per table that opens in Excel. Without a license key each file holds the first 1,000 rows and is named like dbo.Orders (first 1000 rows - unlicensed).csv. NULL is an empty field and an empty string is written as "". A file is written under a temporary name (.csv.partial) and gets its real name only when it is complete, so a cancelled export leaves no cut-off file. Files that exist in the folder are replaced only after you say so. A table that cannot be read is named with the reason and the other tables are still exported.

Copy tables into a SQL Server database

  1. Tick the tables you want.
  2. Choose Copy to SQL Server…, fill in the server, the authentication and the target database (an existing one, or a new name: the database is then created), and choose Copy.

Without a license key, only the first 1,000 rows of each table are copied, and the target table gets the suffix _preview (dbo.Orders_preview). A table that does not exist in the target is created with the same columns, types and collations, its primary key, unique constraints and clustered index, and its computed and sparse columns. Other indexes, foreign keys, check constraints, defaults and triggers are not created.

When picked tables exist in the target already, they are checked first and you are asked once: add the rows to the rows that are there, replace their rows (the table is emptied first), or cancel. Each table is copied completely or not at all: when a table fails or you cancel, that table is left exactly as it was. An existing table whose columns do not fit the backup is left as it is, with the reason, and the other tables are still copied.

Replace does not empty a table that other tables refer to with a foreign key. Empty it yourself or choose add the rows.

Update and settings

SQLTreeo Restore checks for updates a few seconds after it starts and now and then while it runs, and installs an update with one click. Settings has the theme (light or dark), the automatic update check, the certificates and the license. Release notes say what each version brings.