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

Troubleshooting Guide: SQL Server Error 4844 — Unsupported Property Name in Bulk Data Source Provider String

Why This Error Happens

Error 4844 occurs when a BULK INSERT, OPENROWSET(BULK...), or format file references a property name in the provider string that SQL Server 2025 does not recognize or no longer supports. This is typically caused by a syntax error or deprecated keyword in the connection/provider string, an outdated format file generated by an older SQL Server version, or a mismatch between the property casing/spelling and what the current Bulk Load provider expects. It can also surface after an in-place upgrade to SQL Server 2025 where legacy bulk import scripts use provider properties that were removed or renamed in the new engine.

Step-by-Step Resolution Guide

Step 1: Review the Exact Provider String Syntax

  • Open the BULK INSERT statement, OPENROWSET(BULK...) query, or XML format file that triggered the error.
  • Check the %ls property name reported in the error message — this is the literal unsupported token.
  • Compare it against the current supported property list in Microsoft Docs for SQL Server 2025 Bulk Import (e.g., DATA_SOURCE, FORMATFILE_DATA_SOURCE, ERRORFILE_DATA_SOURCE).
  • Confirm there are no typos, extra spaces, or incorrect casing (SQL Server property names are case-sensitive in some providers).

Step 2: Regenerate or Update the Format File

  • If using a .xml or non-XML format file, regenerate it using the bcp utility against the current SQL Server 2025 instance:
  • bcp YourDatabase.dbo.YourTable format nul -c -x -f C:\BulkData\NewFormatFile.xml -S YourServer -T
  • Open the regenerated file and confirm property names match the schema expected by SQL Server 2025 (older format files from SQL Server 2016/2019 may contain deprecated attributes).
  • Replace the old format file path in your script with the newly generated one.

Step 3: Validate External Data Source and Credential Objects

  • If using OPENROWSET(BULK...) with an external data source (e.g., Azure Blob Storage), run:
  • SELECT * FROM sys.external_data_sources;
  • Confirm the LOCATION and associated CREDENTIAL do not include unsupported legacy properties such as old PROVIDER_STRING key-value pairs tied to deprecated OLE DB providers.
  • Drop and recreate the external data source if it references an outdated provider type:
  • DROP EXTERNAL DATA SOURCE MyBulkSource;
  • CREATE EXTERNAL DATA SOURCE MyBulkSource WITH (LOCATION = 'https://account.blob.core.windows.net/container', CREDENTIAL = MyCredential);

Step 4: Check for Deprecated OLE DB / Provider Keywords

  • Search the full connection or provider string for legacy keywords retired in SQL Server 2025, such as SQLNCLI, SQLOLEDB, or older MSOLEDBSQL version-specific flags.
  • Replace deprecated providers with the current supported driver, e.g., MSOLEDBSQL19 or the latest OLE DB Driver for SQL Server.
  • Update any linked server or bulk import configuration referencing the old provider name in SSMS under Server Objects > Linked Servers > Providers.

Step 5: Apply Latest Cumulative Update

  • Open SQL Server Configuration Manager and verify the engine version under SQL Server Services.
  • Download and install the latest Cumulative Update (CU) for SQL Server 2025 from the Microsoft Update Catalog, since provider string parsing bugs are occasionally patched in CUs.
  • Restart the SQL Server service after installation: net stop MSSQLSERVER && net start MSSQLSERVER.

Alternative or Verification Steps

  • Re-run the original BULK INSERT or OPENROWSET(BULK...) statement after corrections; a successful data load with no Error 4844 confirms the fix.
  • As an alternative, test the bulk operation using SSIS or Azure Data Factory bulk load components instead of raw T-SQL, which can bypass manual provider string errors entirely.