KB4540901 - FIX: SQL Server may terminate due to lock conflicts during error message processing in SQL Server 2016, 2017 and 2019

Applies To
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Windows SQL Server 2019 on Windows SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows

Symptoms

Assume that you have dynamic data masking enabled in one or more tables in Microsoft SQL Server 2016, 2017, or 2019. In rare scenarios, a locking conflict may occur during error message processing, and SQL Server may terminate unexpectedly. Additionally, an error entry that resembles the following may be logged in the error log:

      

DateTime SpidId Stack Overflow Dump not possible - Exception ExceptionId EXCEPTION_STACK_OVERFLOW at ExceptionAddress
      

DateTime SpidId ex_terminator: Possible termination due to exception during stack unwinding.
      

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Resolution

This issue is fixed in the following cumulative updates for SQL Server:

About cumulative updates for SQL Server:

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Workaround

To work around the issue, you can remove all data masking from tables.

References

Learn about the terminology that Microsoft uses to describe software updates.