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

Why This Error Happens

Error 6303 occurs when SQL Server’s internal XML parser (MSXML) hits a predefined memory threshold while attempting to parse a large or deeply nested XML document, typically during OPENXML, sp_xml_preparedocument, or when casting large strings to the xml data type. This is often triggered by documents exceeding the default internal representation limit (historically around 2GB, but configurable in SQL Server 2025) or by excessive element nesting that causes exponential memory growth during DOM tree construction. It can also surface due to insufficient memory allocation for the SQL Server instance itself, causing the parser to fail prematurely even on moderately sized documents.

Step-by-Step Resolution Guide

Step 1: Identify the Source Query and Document Size

  • Run SELECT * FROM sys.dm_exec_requests WHERE session_id = <SPID> to isolate the offending session.
  • Use SQL Server Profiler or Extended Events to capture the exact XML payload size triggering the error.
  • Check if the XML document exceeds 2GB or contains unusually deep nesting (more than 128 levels is a common red flag).

Step 2: Increase Available Memory for the SQL Server Instance

  • Open SQL Server Configuration Manager and verify the instance has sufficient max server memory configured via:
  EXEC sp_configure 'max server memory', 16384;
  RECONFIGURE;
  • Ensure the Windows Server 2025 host itself is not memory-starved; check Task Manager > Performance or Get-Counter "\Memory\Available MBytes" in PowerShell.
  • Restart the SQL Server service via services.msc or net stop MSSQLSERVER && net start MSSQLSERVER after reconfiguration.

Step 3: Refactor the XML Processing Logic

  • Replace large-scale OPENXML/DOM-based parsing with the native xml data type and XQuery methods (.nodes(), .value()), which use a streaming model instead of loading the full DOM tree into memory.
  • Break large XML documents into smaller chunks before processing, if the source system allows batch delivery.
  • Always call sp_xml_removedocument immediately after sp_xml_preparedocument to release the internal MSXML parser handle and free memory.

Step 4: Apply Latest Cumulative Update

  • Confirm the SQL Server 2025 build number via SELECT @@VERSION.
  • Download and apply the latest Cumulative Update (CU) from the Microsoft Update Catalog, as XML parser memory-handling improvements are frequently patched.
  • Reboot the Windows Server 2025 host post-installation to ensure driver and service-level changes take effect.

Alternative or Verification Steps

  • Re-run the original query or application process that triggered Error 6303 and monitor sys.dm_os_memory_clerks (filter on %XML%) to confirm memory consumption stays within healthy bounds.
  • If the error persists, as a workaround, process the XML externally (e.g., via a PowerShell or .NET pre-processing script) and import only the required extracted relational data into SQL Server instead of parsing raw XML in-engine.