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

Troubleshooting Guide: SQL Server Error 6929 – Invalid QName for xsi:type Attribute

Why This Error Happens

This error occurs when SQL Server’s XML parser encounters an xsi:type attribute value that does not conform to a valid QName (Qualified Name) format, typically because the namespace prefix used has not been properly declared within the scope of the XML instance document. It commonly arises from malformed XML being inserted into an XML-typed column, corrupted data during a bulk import, or client applications generating XML with incorrect namespace bindings. Additionally, this can surface after upgrading to SQL Server 2025 if legacy XML schema collections contain prefix mappings that are no longer resolved correctly by the updated XML validation engine.

Step-by-Step Resolution Guide

Step 1: Isolate the Offending XML Data

  • Identify the specific INSERT, UPDATE, or import operation that triggered Error 6929 by checking SQL Server Error Logs located at C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG.
  • Extract the exact XML payload using SQL Server Profiler or Extended Events (xml_validation_error event) to capture the raw string causing the failure.
  • Look specifically for the xsi:type attribute value flagged in the error message (e.g., ns1:CustomType).

Step 2: Validate Namespace Prefix Declarations

  • Open the XML source and confirm that every prefix used in an xsi:type attribute (e.g., ns1) has a corresponding xmlns:ns1="http://your-namespace-uri" declaration in an ancestor element.
  • Check for case-sensitivity mismatches between the prefix declared and the prefix used in the xsi:type value.
  • If using Windows PowerShell to test XML validity, run:
  [xml]$doc = Get-Content "C:\Temp\test_payload.xml"
  $doc.OuterXml

Step 3: Repair or Rebuild the XML Schema Collection

  • If the issue stems from a registered XML Schema Collection (XSC), query the current definition:
  SELECT xml_schema_namespace(N'dbo', N'YourSchemaCollectionName');
  • Drop and recreate the schema collection with updated namespace mappings if the collection pre-dates a SQL Server 2025 compatibility level change:
  ALTER XML SCHEMA COLLECTION dbo.YourSchemaCollectionName ADD N'<xsd:schema>...</xsd:schema>';
  • Ensure the application connection string or middleware (e.g., .NET XmlSerializer) is updated to emit fully qualified namespace prefixes matching the server-side schema.

Step 4: Patch and Restart the SQL Service

  • Verify you are running the latest Cumulative Update (CU) for SQL Server 2025, as early XML parser builds had known QName resolution bugs.
  • Apply the update, then restart the service via PowerShell:
  Restart-Service -Name "MSSQLSERVER" -Force

Alternative or Verification Steps

  • Verify the fix by re-running the original INSERT/UPDATE statement or re-importing the file; confirm no Error 6929 appears in the Application Event Viewer under Windows Logs > Application, filtered by Event ID 6929.
  • Alternative workaround: If immediate resolution isn’t possible, temporarily cast the column as nvarchar(max) instead of xml to bypass strict validation, then migrate back to the xml type once the namespace prefixes are corrected at the source.