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

Troubleshooting Guide: SQL Server Error 472 (Format File / SINGLE_BLOB Conflict)

Why This Error Happens

Error 472 occurs when a BULK INSERT or OPENROWSET(BULK...) statement is executed with conflicting or incomplete argument syntax. SQL Server 2025 requires that you specify either a format file (.fmt or .xml) or exactly one of the three mutually exclusive options: SINGLE_BLOB, SINGLE_CLOB, or SINGLE_NCLOB. This typically happens due to a malformed T-SQL query, a corrupted format file path, or a copy-paste error where both a format file and a SINGLE_* option were accidentally included in the same command.

Step-by-Step Resolution Guide

Step 1: Audit the T-SQL Syntax

  • Open the failing script in SQL Server Management Studio (SSMS) connected to your SQL Server 2025 instance.
  • Locate the BULK INSERT or OPENROWSET(BULK...) clause and check if both FORMATFILE = 'path' and SINGLE_BLOB (or SINGLE_CLOB/SINGLE_NCLOB) appear together.
  • Remove one of the two — use FORMATFILE only if you are importing structured, column-mapped data, or use SINGLE_BLOB only if you are importing an entire file as one binary object.

Step 2: Validate the Format File Path and Structure

  • Confirm the file exists at the exact path referenced, e.g., C:\SQLData\ImportFiles\data.fmt.
  • Ensure the SQL Server service account (check via services.msc on Windows Server 2025) has Read permissions on the folder.
  • Open the .fmt file in a text editor to confirm it isn’t corrupted — the first line should contain a valid version number (9.0 or higher for SQL Server 2025).

Step 3: Rebuild the Query Using a Single Option

  • Rewrite the statement using only one method. Example for SINGLE_BLOB:
SELECT * FROM OPENROWSET(BULK 'C:\SQLData\file.bin', SINGLE_BLOB) AS ImportedData;
  • Example using a format file only:
BULK INSERT dbo.TargetTable
FROM 'C:\SQLData\file.csv'
WITH (FORMATFILE = 'C:\SQLData\ImportFiles\data.fmt');
  • Save the corrected script and re-run it in SSMS.

Step 4: Restart Dependent Services (If Using UNC Paths)

  • If the file resides on a network share, restart the SQL Server (MSSQLSERVER) service via services.msc to refresh cached credentials.
  • Re-test connectivity to the UNC path using Test-Path \\server\share\file.fmt in PowerShell on Windows Server 2025.

Alternative or Verification Steps

  • Run the corrected query again and confirm no Error 472 appears in the SQL Server Error Log (via SSMS > Management > SQL Server Logs).
  • As an alternative, use the Import/Export Wizard in SSMS to regenerate a clean format file automatically, avoiding manual syntax errors.