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

Troubleshooting Guide: SQL Server Error 3056 – Unexpected File in FILESTREAM Container

Why This Error Happens

This informational warning occurs when SQL Server detects a file within a FILESTREAM container that is not tracked in its internal metadata during a backup operation. It is typically caused by external processes—such as antivirus software, manual file copies, or third-party backup tools—writing directly to the FILESTREAM data directory outside of SQL Server’s control. While the backup operation completes successfully and includes the orphaned file, the root cause is a lack of isolation between the FILESTREAM filesystem and external applications.

Step-by-Step Resolution Guide

Step 1: Identify the Source of the Unexpected File

  • Check the SQL Server error log for the specific file path referenced in the message (%ls).
  • Navigate to the FILESTREAM container directory, typically located at a path similar to D:\SQLData\FileStreamContainer\.
  • Cross-reference file creation/modification timestamps with any scheduled antivirus scans, backup jobs, or manual admin activity on Windows Server 2025.

Step 2: Exclude FILESTREAM Directories from Antivirus and Third-Party Tools

  • Open Windows Security settings or your enterprise antivirus console.
  • Add an exclusion for the full FILESTREAM container path (e.g., D:\SQLData\FileStreamContainer\*).
  • Ensure Windows Server backup utilities or third-party agents (like Veeam or Commvault) are configured to skip direct scans of FILESTREAM folders, since SQL Server manages this storage internally via NTFS.

Step 3: Run DBCC CHECKDB to Validate Filegroup Consistency

  • Open SQL Server Management Studio (SSMS) and connect to the instance.
  • Execute the following command to verify there is no underlying corruption beyond the orphaned file: DBCC CHECKDB ('YourDatabaseName') WITH DATA_PURITY;
  • Review the output for any additional allocation errors that might indicate a deeper FILESTREAM corruption issue rather than just a stray file.

Step 4: Clean Up Orphaned Files (If Safe)

  • If the file is confirmed to be unrelated to active SQL Server transactions (verify it is not an in-use .ldf or data stream file), move it out of the container rather than deleting it immediately.
  • Use PowerShell to relocate the file for a 24-hour observation period: Move-Item -Path "D:\SQLData\FileStreamContainer\orphanfile.dat" -Destination "D:\Temp\Quarantine\"
  • Monitor the SQL Server logs to ensure no application errors occur due to the missing file, then purge it from quarantine if stable.

Alternative or Verification Steps

  • Verification: Run a full database backup again (BACKUP DATABASE... TO DISK...) and check the SQL Server log; the Error 3056 message should no longer appear for the previously flagged file.
  • Alternative Solution: If the warnings persist across multiple files, consider isolating the FILESTREAM filegroup on a dedicated volume with stricter NTFS permissions, restricting write access solely to the SQL Server service account (NT Service\MSSQLSERVER).