UPDATE: Microsoft have now re-released CUs with the Database Mail issue resolved. This is their description from CU23 for SQL Server 2022:
The initial release of this cumulative update (KB5074819), released on January 15, 2026, contained an issue that caused Database Mail to stop working. You might also see the following error message:
Could not load file or assembly 'Microsoft.SqlServer.DatabaseMail.XEvents, Version=17.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
This issue affects SQL Server product version 16.0.4235.2 and file version 2022.160.4235.2.
This issue is resolved in the current version of this cumulative update (KB5078297).
If you downloaded the initial release of this update, don't install it. Download and install the current version instead.If you already installed the initial release, uninstall it or install the current version on top of the initial CU23 release (KB5074819) to restore Database Mail functionality.
Future cumulative updates also contain the fix for this issue. You can install them regardless of which version of this cumulative update is currently installed.
Email messages queued through Database Mail while the initial release was installed aren't automatically resent when you uninstall it or install a cumulative update that contains the fix.
PREVIOUS WORKAROUND:
We have the same issue after updating to CU23. DatabaseMail not working across all of our instances.
Fortunately we had one instance which we hadn't upgraded, so I relucantly did the following as a workaround:
- Checked for unsent mail:
SELECT
mailitem_id,
profile_id,
recipients,
subject,
send_request_date,
sent_status,
sent_date
FROM dbo.sysmail_allitems
WHERE sent_status <> 'sent'
- Stop the Database Mail service
EXEC msdb.dbo.sysmail_stop_sp;
- Navigate on a working (pre-CU23) instance to C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn and copy these three files:
- DatabaseMail.exe
- DatabaseMailengine.dll
- DatabaseMailprotocols.dll
- Navigate on the non-working instance to C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Binn and replace the three files with those copied from the working instance (take a backup first):
- DatabaseMail.exe
- DatabaseMailengine.dll
- DatabaseMailprotocols.dll
- Start the Database Mail service
EXEC msdb.dbo.sysmail_start_sp;
- Re-check for unsent mail. For us, on all instances, the unsent mail was sent automatically straight away without error.
Appreciate some may not like to bodge production servers by replacing exe/dlls, but it is working fine for us so far, and t didn't require any restart (besides the Database Mail service).
Before implementing any hotfix or reapplying the fixed CU from Microsoft (whenever it arrives), I will make sure to revert to the three 'non-working' files previously backed up, just in case this workaround interfers with the update process (i.e. it doesn't like the older exe/dlls).