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

Troubleshooting Guide: Error 11237 in Microsoft SQL Server 2025

Why This Error Happens

Error 11237 occurs when the SQL Server Database Engine’s internal messaging subsystem (typically related to Service Broker or the Resource Governor) cannot allocate sufficient memory to process an incoming message, causing it to be dropped rather than queued. This is most commonly triggered by memory pressure caused by an undersized “max server memory” configuration relative to workload demands, excessive concurrent connections, or another process on the Windows Server 2025 / Windows 11 host consuming physical RAM that SQL Server needs. In some cases, this can also stem from fragmented memory within the SQL Server process itself due to prolonged uptime without a restart.

Step-by-Step Resolution Guide

Step 1: Verify and Adjust SQL Server Memory Configuration

  • Open SQL Server Management Studio (SSMS) and connect to the affected instance.
  • Run EXEC sp_configure 'max server memory (MB)'; to check the current ceiling.
  • If the value is too close to total physical RAM, lower it using EXEC sp_configure 'max server memory (MB)', 16384; RECONFIGURE; (adjust value based on available system memory, leaving at least 4-8 GB for the OS).
  • Restart the SQL Server service via services.msc or net stop MSSQLSERVER && net start MSSQLSERVER for changes to take effect.

Step 2: Check for External Memory Pressure on the Host

  • Open Task Manager or Performance Monitor (perfmon.exe) on Windows Server 2025 / Windows 11.
  • Monitor the Memory\Available MBytes counter to confirm the OS has sufficient free memory.
  • Identify and close/reduce any non-essential services or applications competing for RAM (e.g., IIS, reporting services, antivirus scanning engines).
  • Consider adding physical RAM if the server is consistently running near capacity.

Step 3: Review Service Broker / Resource Governor Settings

  • Query sys.dm_broker_queue_monitors and sys.dm_resource_governor_resource_pools to check for queue backlogs or pool memory limits causing message drops.
  • If using Resource Governor, verify the memory grant percentages assigned to the relevant resource pool aren’t too restrictive: ALTER RESOURCE POOL [PoolName] WITH (MAX_MEMORY_PERCENT = 50); ALTER RESOURCE GOVERNOR RECONFIGURE;
  • Check the SQL Server Error Log (C:\Program Files\Microsoft SQL Server\MSSQL17.MSSQLSERVER\MSSQL\Log\ERRORLOG) for correlating memory pressure warnings around the same timestamp as Error 11237.

Step 4: Clear Procedure Cache and Reset Memory Allocation

  • Run DBCC FREEPROCCACHE; to clear cached execution plans that may be consuming excess memory.
  • Run DBCC DROPCLEANBUFFERS; in a test/maintenance window to reset the buffer pool (use with caution on production systems).
  • Re-check memory utilization using SELECT * FROM sys.dm_os_memory_clerks ORDER BY pages_kb DESC; to identify abnormal memory clerk consumption.

Alternative or Verification Steps

  • To verify the fix, monitor the SQL Server Error Log and Windows Event Viewer (Application log) for 24-48 hours to confirm Error 11237 no longer appears under normal load.
  • If the error persists, consider running the SQL Server memory diagnostic via DBCC MEMORYSTATUS and escalate to a full server memory audit, as the issue may indicate a hardware-level RAM shortage requiring a capacity upgrade.