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

Troubleshooting Guide: SQL Server Error 5180 – Invalid File ID (FCB Open Failure)

Why This Error Happens

Error 5180 occurs when SQL Server’s internal file mapping becomes desynchronized from the actual physical file layout recorded in the database’s system catalog (sys.database_files). This typically happens after an improper file move, a failed autogrow operation, disk-level corruption, or a crash during a shrink/grow operation that left the File Control Block (FCB) pointing to a file ID that no longer resolves correctly. It can also surface after restoring a database where the underlying file structure was altered outside of SQL Server’s transaction log awareness.

Step-by-Step Resolution Guide

Step 1: Verify Database and File State

  • Open SQL Server Management Studio (SSMS) or sqlcmd and run sys.database_files and sys.master_files to compare the physical file paths SQL Server expects versus what exists on disk.
  • Check the SQL Server Error Log (default path: C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG on Windows Server 2025/Windows 11) for accompanying messages like Error 823 or 824, which indicate deeper I/O corruption.
  • Confirm the database is not currently in SUSPECT or RECOVERY_PENDING mode by running SELECT name, state_desc FROM sys.databases;.

Step 2: Take the Database Offline and Run Integrity Checks

  • Set the database to single-user mode: ALTER DATABASE [YourDB] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
  • Run DBCC CHECKDB ('YourDB') WITH NO_INFOMSGS, ALL_ERRORMSGS; to identify the full scope of corruption, including the specific invalid file ID referenced in the error.
  • Review the output for allocation errors tied to the file ID mentioned in Error 5180 (this confirms whether the issue is metadata-only or involves actual page corruption).

Step 3: Repair or Realign the File Mapping

  • If DBCC CHECKDB reports only metadata/file-id mismatches, attempt DBCC CHECKDB ('YourDB', REPAIR_REBUILD) first, as this is non-destructive.
  • If corruption is confirmed on data pages, escalate to DBCC CHECKDB ('YourDB', REPAIR_ALLOW_DATA_LOSS) only as a last resort, and only after taking a full backup of the current (damaged) state.
  • If the file was physically relocated without updating SQL Server, correct it via ALTER DATABASE [YourDB] MODIFY FILE (NAME = YourLogicalFileName, FILENAME = 'D:\SQLData\YourFile.mdf'); then restart the SQL Server service.

Step 4: Restore From a Known Good Backup (If Repair Fails)

  • Restore the most recent clean full backup plus subsequent transaction log backups using RESTORE DATABASE [YourDB] FROM DISK = 'E:\Backups\YourDB_Full.bak' WITH NORECOVERY, followed by log restores WITH RECOVERY on the last one.
  • Validate file paths in the WITH MOVE clause match your current Windows Server 2025 storage layout if drive letters differ from the original server.

Step 5: Return Database to Multi-User Mode

  • Run ALTER DATABASE [YourDB] SET MULTI_USER; once repairs or restore operations are complete.
  • Re-run DBCC CHECKDB ('YourDB') WITH NO_INFOMSGS; one final time to confirm zero allocation or consistency errors remain.

Alternative or Verification Steps

  • Verify the fix by querying the previously failing table/object directly and confirming DBCC CHECKDB returns “0 allocation errors and 0 consistency errors.”
  • If corruption recurs immediately after repair, run Windows Server 2025’s chkdsk D: /f /r (adjust drive letter) and check Event Viewer’s System log for Disk or NTFS warnings, as this points to underlying storage hardware failure rather than a SQL Server-level issue.