SQL 2016 - DataBase Mail shuts down with 'A system assertion check has failed' error

Thomas, Sam 1 Reputation point
2021-08-31T09:43:32.44+00:00

Hi,

The DatabaseMail on sql server 2016 crashes with following error :

Exception Type: System.Data.SqlClient.SqlException
Errors: System.Data.SqlClient.SqlErrorCollection
Class: 20
LineNumber: 11
Number: 3624
Procedure: trig_sysmail_mailitems
Server: <DBName>
State: 1
Source: .Net SqlClient Data Provider
ErrorCode: -2146232060
Message: A system assertion check has failed. Check the SQL Server error log for details. Typically, an assertion failure is caused by a software bug or data corruption. To check for database corruption, consider running DBCC CHECKDB. If you agreed to send dumps to Microsoft during setup, a mini dump will be sent to Microsoft. An update might be available from Microsoft in the latest Service Pack or in a Hotfix from Technical Support.
Cannot continue the execution because the session is in the kill state.
A severe error occurred on the current command. The results, if any, should be discarded.
Location: SpcAlloc.cpp:909
Expression: pPage->IsType (Page::TEXT_MIX_PAGE)
SPID: 59
Process ID: 6400
Data: System.Collections.ListDictionaryInternal
TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean)
HelpLink: NULL

StackTrace Information

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.SqlServer.Management.SqlIMail.Server.DataAccess.DataAccessAdapter.PostResponse(Response r, Guid convHandle)
at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.PostResponseIfNeeded(MailInfo mailInfo, Response response)
at Microsoft.SqlServer.Management.SqlIMail.IMailProcess.ThreadCallBack.MailOperation(Object obj)

I have checked the integrity of DB and all looks good. Because of this error important client error alerts are not being sent from DBMail. DBMail crashes most of times on PROD env. The 2016 sql server on PROD env is updated with latest updates.

Is this issue something that is known, on sql server, as suggested in many of the posts on MSDN Forums?

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
13,366 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Tom Phillips 17,721 Reputation points
    2021-08-31T12:14:07.157+00:00
    0 comments No comments

  2. AmeliaGu-MSFT 13,971 Reputation points Microsoft Vendor
    2021-09-01T07:29:35.953+00:00

    Hi ThomasSam-1947,

    Were there any dumps generated in the \Program Files\Microsoft SQL Server\MSSQL13.\MSSQL\Log when SQL Server crashed? Please make sure you have installed the latest SP and CU for SQL Server 2016.
    You could open a ticket with Microsoft support. They can analyze the dump files and confirm what exactly is causing the issue.

    Best Regards,
    Amelia

    0 comments No comments