How to fix Error 3190 on Windows Server 2025 / Windows 11

Troubleshooting Guide: SQL Server Error 3190 — Filegroup Cannot Be Restored

Why This Error Happens

This error occurs when the backup set specified in a RESTORE command does not contain a copy of the requested filegroup, typically because the backup was taken before the filegroup was added to the database or the filegroup was excluded during a partial/piecemeal backup. It can also happen when restoring from a file or media set that is incomplete, corrupted, or mismatched with the target database schema. Additionally, mixing backups from different points in time (e.g., a full backup taken before adding a filegroup, combined with a differential taken after) can trigger this mismatch.

Step-by-Step Resolution Guide

Step 1: Verify Filegroup Contents of the Backup Set

  • Open SQL Server Management Studio (SSMS) or a query window connected to the SQL Server 2025 instance.
  • Run RESTORE FILELISTONLY FROM DISK = 'C:\Backups\YourDatabase.bak' to list all files and filegroups contained in the backup.
  • Compare this output against the filegroups in the live database using SELECT name, type_desc FROM sys.filegroups;.
  • Identify which filegroup is missing from the backup set listing.

Step 2: Confirm Backup Chain and Timing

  • Check when the missing filegroup was added to the database by reviewing sys.database_files and deployment/change scripts.
  • If the filegroup was added after the full backup was taken, a new full backup must be generated to include it.
  • Run a fresh full backup using: BACKUP DATABASE YourDatabase TO DISK = 'C:\Backups\YourDatabase_Full.bak' WITH INIT, COMPRESSION;
  • Ensure any subsequent differential or log backups are taken only after this new full backup.

Step 3: Perform a File or Filegroup-Level Backup (If Full Backup Is Not Feasible)

  • If a full re-backup is too costly for a large database, perform a targeted filegroup backup instead.
  • Run: BACKUP DATABASE YourDatabase FILEGROUP = 'FG_Name' TO DISK = 'C:\Backups\YourDatabase_FG.bak';
  • Use this filegroup backup alongside your existing full backup during the restore sequence with WITH FILE, NORECOVERY, and RECOVERY options in the correct order.

Step 4: Validate Backup Media Integrity

  • Run RESTORE VERIFYONLY FROM DISK = 'C:\Backups\YourDatabase.bak'; to rule out corruption as the cause.
  • If using Windows Server 2025 storage (local disk, SAN, or Azure-attached storage), confirm the backup file was not truncated during transfer by checking file size and checksum.
  • Re-copy the backup file locally if it resides on a network share, as intermittent connectivity can produce incomplete backup sets.

Step 5: Retry the Restore With Correct File Ordering

  • Reconstruct the restore sequence explicitly specifying all required files: RESTORE DATABASE YourDatabase FILEGROUP = 'FG_Name' FROM DISK = 'C:\Backups\YourDatabase_Full.bak' WITH NORECOVERY;
  • Follow with any differential/log restores in the correct chronological order, ending with WITH RECOVERY.

Alternative or Verification Steps

  • After completing the restore, run DBCC CHECKDB('YourDatabase') WITH NO_INFOMSGS; to confirm database consistency and that all filegroups are online and accessible.
  • If the original backup set genuinely lacks the filegroup and no newer backup exists, the only alternative is to restore what is available and manually recreate the missing filegroup/files, accepting data loss for objects stored on that filegroup.