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

Troubleshooting Guide: SQL Server Error 3144

Why This Error Happens

Error 3144 occurs when SQL Server attempts to restore a specific file from a backup set, but that file was not actually included during the original backup operation. This commonly happens with partial or file/filegroup backups where the target file was offline, excluded from the backup job scope, or added to the database after the backup was taken. It can also occur if the backup media is corrupted, truncated, or if multiple backup devices in a striped set were not all presented during the restore operation.

Step-by-Step Resolution Guide

Step 1: Verify Backup Set Contents

  • Run RESTORE FILELISTONLY FROM DISk = 'C:\Backups\YourBackup.bak' to list all files actually contained in the backup set.
  • Cross-reference this output against the database’s current file structure using sys.master_files to identify which file is genuinely missing.
  • Confirm whether the backup was a full database backup, a file/filegroup backup, or a partial backup, since each type includes different file sets.

Step 2: Check for Multi-File or Striped Backup Sets

  • If the backup was written across multiple devices (striped backup), ensure all backup files or tapes are referenced in the RESTORE command simultaneously.
  • Example: RESTORE DATABASE YourDB FROM DISK = 'D:\Backup1.bak', DISK = 'D:\Backup2.bak' WITH FILE = 1
  • Missing even one device from a striped set will cause SQL Server to report files as “not backed up” even though they technically exist.

Step 3: Inspect for Offline or Read-Only Files at Backup Time

  • Open SQL Server Management Studio (SSMS) and navigate to Database Properties > Files to check if any data files were marked OFFLINE during the backup window.
  • Files that are offline, restoring, or in an inaccessible state are automatically skipped during backup operations, which later triggers Error 3144 on restore.
  • Bring the file online using ALTER DATABASE YourDB MODIFY FILE and re-run a fresh full backup to capture it properly.

Step 4: Validate Backup Media Integrity

  • Run RESTORE VERIFYONLY FROM DISK = 'C:\Backups\YourBackup.bak' to check if the backup file is corrupted or truncated.
  • On Windows Server 2025, check the Event Viewer under Windows Logs > Application for disk I/O errors (Event ID 51 or 153) that may indicate underlying storage corruption on the backup destination.
  • If corruption is confirmed, locate an earlier valid backup or re-initiate a new full backup cycle.

Step 5: Re-run a Complete Full Backup

  • If the missing file was recently added to the database (e.g., a new secondary data file), the existing backup chain is invalid for that file.
  • Execute a new full database backup: BACKUP DATABASE YourDB TO DISK = 'C:\Backups\NewFullBackup.bak' WITH INIT
  • This resets the backup baseline to include all current files, preventing Error 3144 on future restores.

Alternative or Verification Steps

  • To verify the fix, perform a test restore using RESTORE DATABASE YourDB FROM DISK = 'C:\Backups\NewFullBackup.bak' WITH REPLACE, RECOVERY on a non-production instance and confirm all files load without error.
  • If the issue persists and the original backup is unrecoverable, use RESTORE DATABASE ... WITH PARTIAL to recover only the available filegroups, then manually rebuild the missing file structure afterward.