SQL Database Repair

How to Restore Specific Table(s) from SQL Database Backup File? (Complete Guide 2026)

info-icon Our content follows trusted Editorial Standards - accurate & unbiased.

Summary: SQL Server has no built-in feature to restore a single table from .BAK file — you have to restore the complete database first and then copy the required table back using T-SQL. If the backup file is corrupt or a full restore isn't possible for you, Stellar Backup Extractor for MS SQL can help you recover specific tables directly without a full restore. In this write-up, we'll learn these specific table recovery methods step-by-step.

Table of Contents

Corruption in SQL database objects, accidentally deleting a table, and losing records after mistakenly using the DELETE statement are some of the common scenarios when you need to recover a specific table from SQL Server database backup. In some cases, you may encounter errors while accessing a particular table in the database and the rest of the database is working normally. Here is an example of a user query: “I have a production database which has 200 tables. Since last week I am unable to access one of the tables. When I just select top 100 rows, it keeps on running.”

Such a situation makes a full database restore unnecessary and time-consuming. And you require to restore only a specific object. You can restore backups in SQL Server directly only at the database level instead of table level. For a specific table recovery, you must first restore the backup as a separate database and then copy the corrupted or affected table back to the actual database using queries.

What is a SQL .BAK File and Why can’t you Restore One Table Directly?

A backup (.bak) file in SQL Server store the database snapshot. Depending on how you created the backup, it includes:

A full backup

Differential backup

Filegroup backup

Partial backup.

 To create it, you can use:

• BACKUP DATABASE command

• SQL Server Management Studio (SSMS

You can’t restore single table directly from a backup, as there is no built-in table-level restore option option available in SQL Server to do so. SQL Server is designed to restore .BAK files at the database level only. Using the RESTORE DATABASE command on this backup file allows you restore the complete database in one go. To access a specific object, you need to reconstruct the database from backup. For this, first create a new database from the backup and then copy the required tables using T-SQL.

Prerequisites before Restoring a Specific SQL Table

Before restoring specific tables from SQL database backup, confirm the following:

  • Make sure you’ve access to the SQL Server instance
  • Ensure your system have free space available, i.e. equal to the original data size.
  • You have all permissions on your database, like RESTORE DATABASE privileges.
  • There should be a healthy backup file and you can verify it.
  • Make sure the name of the database you create using your backups is distinct. This helps to avoid conflicts.

How to Recover Specific Table(s) from SQL Database Backup File?

To restore individual table from the backup file, follow these methods.

Method 1 – Restore your Backup using SSMS

To recover a specific table in SQL Server, here are the below-cited steps:

Step 1: Restore the Backup as a Separate Database

The first step is to restore the backup to a new database with a different name.

For example:

Original Database:
StellarDB
Restored Database:
StellarDB_Restored

The restored database acts as a recovery source and allows you to access the tables stored inside the backup. Next, you can use the restored database as a recovery source to allow you access the tables in the backup file. You can also check the logical file names stored in the backup.

The below command will display the logical file names in backup.

RESTORE FILELISTONLY
FROM DISK = 'D:\BackupSQL\StellarDB.bak'
check the logical file names stored in the backup

Next, restore the backup by using this command:

RESTORE DATABASE StellarDB_Restored
FROM DISK = N'C:\SQLBackups\StellarDB.bak'
WITH
MOVE 'StellarDB' TO 'C:\SQLData\StellarDB_Restored.mdf',
MOVE 'StellarDB_log' TO 'C:\SQLData\StellarDB_Restored_log.ldf',
STATS = 10;
GO

Note: The MOVE option tells SQL Server to create new physical database files for the restored database. Without this option, your restore operation may fail due to file name conflicts.

After the restore operation completes successfully, SQL Server contains two separate databases:

  • Original database
  • The restored database containing database copy

Before recovering, confirm that the table is available in the restored database:

SELECT *
FROM StellarDB_Restored.dbo.EMP;
GO

If it returns the records, the table is ready for recovery.

Step 2: Recover the Required Table

After restoring the database backup to a new database, you can copy the specific tables to the destination database. Below, we’ve mentioned the process to restore specific tables based on three scenarios.

Scenario 1: When rows are deleted and tables still exist

You can use the following code in SSMS wherein you can combine the INSERT command with the SELECT command (see the below example). This will only add the missing rows to the table in the original database.

USE My_Database
GO
SET IDENTITY_INSERT my_table ON
INSERT INTO my_table_1 (column_name)
SELECT * FROM My_Database_Restored.my_table
SET IDENTITY_INSERT my_table OFF

Scenario 2: SQL database table was dropped completely and you need to recreate them:

You can use the following code with the SELECT INTO command for copying the rows and table structure to the original database.

USE My_Database
GO
SELECT * INTO my_table
FROM My_Database_Restored.my_table

Scenario 3: Due to Updates or an unexpected event, some rows in your database table has damaged

You can run the below command to update the damaged and missing data:

USE My_Database
GO
SET IDENTITY_INSERT my_table ON
MERGE my_table dest
USING (SELECT * FROM My_Database_Restored.dbo.my_table) AS src 
ON dest.(column_name_1)= src.(column_name_1)
WHEN MATCHED THEN UPDATE
SET dest. (column_name_2) = src. (column_name_2), dest. (column_name_3) = src. (column_name_3)
WHEN NOT MATCHED THEN INSERT
(column_name_1,column_name_2,column_name_3) VALUES
(src. (column_name_1), src. (column_name_2), src. (column_name_3));
SET IDENTITY_INSERT my_table OFF

You may have to recreate indexes, views, constraints, triggers, or rules functions, if table contains them.

Next, check SQL database for integrity issues, using the DBCC CHECKDB command.

Drawbacks of Recovering Specific Tables using the Manual Method

Some common limitations are:

  • You need to restore the entire database backup, even if only one table needs to be recovered.
  • The large backup restore can take time and also require temporary storage space.
  • The native tools may not help you recover specific objects, if the backup file is corrupted.
  • SQL Server version compatibility issues may prevent the backup from being restored successfully.
  • After recovery, it may require additional validation table dependencies such as foreign keys, triggers, indexes, and constraints.
  • SQL Server does not provide a preview of table contents before completing the restore operation.

Method 2: Restore Specific Tables using Stellar Backup Extractor for MS SQL – An Alternative Solution

If the above method fails, your backup file gets corrupt, or you may not be able to restore any of your table(s), then you can use Stellar Backup Extractor for MS SQL module in Stellar Repair for MS SQL Technician. This tool can help you restore specific tables from .BAK file. It doesn’t require a full SQL Server database restore. It even works if your backup file is corrupted.

Windows Download button

How to Use Stellar Backup Extractor for MS SQL?

Let’s explore the steps to recover tables from SQL database backup file by using the software:

  • Download and launch the Stellar Repair for MS SQL Technician and select the Stellar Backup Extractor for MS SQL module.
  • A dialog box will open. You can use the ‘Browse’ open to select the file (if you know the location) or use the ‘Search’ option to locate the .bak file on your system.
select the Stellar Backup Extractor for MS SQL module
  • Choose the file from which you want to extract data and click Scan.
Choose the file from which you want to extract data
  • After clicking the Scan, select any of the given modes:
    • Standard Scan (Recommended) – This mode scans and repairs normal corruption in .BAK file.
    • Advanced Scan – Use this mode when you do not get desired result after Standard scan. This mode scans the severely corrupted .BAK file.
clicking the Scan mode
  • Now, you will get a new dialog box, ‘Select Backup Set’. This will display the backups if they are stored in different files.
  • Select the Backup Set and click ‘Next’.
Select Backup Set
  • When the repair is completed, you will get a ‘Repair Complete’ dialog box.
  • You can see the preview of the repaired files.
Preview repaired files
  • Now, you can select the tables you want to save and then click ‘Save’.
  • A new dialog box comes up, displaying multiple saving options – MDF, CSV, HTML, and XLS.
  • Select the saving option as MDF and enter the required details.
  • Choose the destination for saving the file and click ‘Save’.
  • The ‘Save Complete’ dialog box appears when the data is successfully saved.

Manual Method vs Stellar Backup Extractor — Which Should You Use?

To choose which method you should use can vary with several factors; let’s look at the comparison table:

Manual SSMS methodStellar Backup Extractor
Full database restoreIt requires you to restore entire .BAK file into a temporary database and then copy the required table back using T‑SQL.You can directly repair/restore specific tables from backup file
Time consumingIt is time‑consuming as it requires multiple steps.It requires less steps
SQL Server InstanceRequires a running SQL Server instance.No SQL Server instance is required.
Support Corrupt BackupCannot recover from corrupt .BAK files.It can work with corrupt .BAK files.
Output FormatsRecovery through T‑SQL operations only.Multiple formats: MDF, CSV, HTML, XLS.
Disk SpaceHigh (full database restore required).Lower (only selected tables extracted).
Selective RecoveryPossible only after full restore.Allows you directly perform selective table recovery.
Preview OptionNo preview before recovery.Preview tables before saving.

Conclusion

SQL Server cannot restore individual tables directly from a backup (.BAK) file. In this post, we’ve covered 2 methods for recovering specific tables from a SQL Server backup in detail. You can recover individual tables manually after restoring the full database. But if the backup file becomes damaged or you need to restore tables without performing a full restore, then you can use a backup repair tool like Stellar Backup Extractor for MS SQL. For this, you can download Stellar Repair for MS SQL Technician. It helps you to selectively restore the tables from a backup (.BAK) file.

FAQs:

Not directly. You can't restore a specific table from a backup file in SQL Server, as the restore command always brings back the entire database. If you need a single table, here are the steps: 1: first restore the backup into a separate database 2: Then copy the required table into the affected database. For cases where you want to recover a specific corrupt table directly from backup, use a professional SQL backup repair tool.
No. You need a complete and readable backup to restore table from backup file. If the BAK file has integrity issues or it is corrupted, your restore operation can fail, and you may fail to attach or open the database in your SSMS. In such a situation, where the backup file gets corrupted, then you can take the help of any reliable backup recovery tool like Stellar Repair for MS SQL Technician.

You can’t directly preview the tables in your backup file before a restore process in SQL Server. However, you can check the backup file structure, header information, logical database, etc. using the following commands:

  • RESTORE FILELISTONLY
  • RESTORE HEADERONLY
  • RESTORE LABELONLY

For a table-level preview, use Stellar’s backup extractor tool. It allows you to preview actual table contents.

It is used to verify the readability of the backup file. Running it before a restore operation helps identify damaged or incomplete backups early in the process.
You can use both commands while recovering table from the backup file in SQL Server in different scenarios. If your original table has been deleted completely, then use SELECT INTO as it creates a new table and copies data into it simultaneously. If the structure of table is already exists but rows have been deleted then use INSERT INTO SELECT as it allows you copy data into an existing table.
If related parents records are missing or inaccessible, the foreign key constraints can block inserts. To resolve such errors, you can temporarily disable constraints when trying to restore your backup. Once the restore completes, then re-enable them.

Yes, you can do so manually. The process is same as restoring table from a full backup. First, restore the full backup to a temporary database. Then, apply the or transaction log backups. But make sure the restore sequence must remain intact.

For restoring backup in detail, read the blog How to backup and restore a SQL server database.

 

This option tells SQL Server to create new database files for the restored database in different locations.

You can restore the table from SQL Server backup file manually using 

  • INSERT INTO
  • SELECT INTO
  • MERGE RESTORE DATABASE
  • DBCC CHECKTABLE.

This process works when restoring to the same version or a newer version of SQL Server like

  • SQL Server2016
  • SQL Server2017
  • SQL Server 2019
  • SQL Server2022
  • SQL Server2025

About The Author

Monika Dadool linkdin

Monika Dadool is a Senior Content Writer at Stellar with over 5 years of experience in technical writing. She is a tech enthusiast and expert who specializes in writing about SQL Server, MySQL Server,...

Leave a comment

Your email address will not be published. Required fields are marked *

Google Trust
Related Posts

WHY STELLAR® IS GLOBAL LEADER

Why Choose Stellar?

  • 0M+

    Customers

  • 0+

    Years of Excellence

  • 0+

    R&D Engineers

  • 0+

    Countries

  • 0+

    PARTNERS

  • 0+

    Awards Received

BitRaser With 30 Years of Excellence
Technology You Can Trust
Data Care Experts since 1993
×